Software Engineering and Development



Similar documents
HEALTHCARE INTEGRATION BASED ON CLOUD COMPUTING

Automatic Testing of Neighbor Discovery Protocol Based on FSM and TTCN*

Ilona V. Tregub, ScD., Professor

Questions & Answers Chapter 10 Software Reliability Prediction, Allocation and Demonstration Testing

Tracking/Fusion and Deghosting with Doppler Frequency from Two Passive Acoustic Sensors

The transport performance evaluation system building of logistics enterprises

INITIAL MARGIN CALCULATION ON DERIVATIVE MARKETS OPTION VALUATION FORMULAS

A formalism of ontology to support a software maintenance knowledge-based system

9:6.4 Sample Questions/Requests for Managing Underwriter Candidates

A framework for the selection of enterprise resource planning (ERP) system based on fuzzy decision making methods

Comparing Availability of Various Rack Power Redundancy Configurations

Cloud Service Reliability: Modeling and Analysis

Research on Risk Assessment of the Transformer Based on Life Cycle Cost

SUPPORT VECTOR MACHINE FOR BANDWIDTH ANALYSIS OF SLOTTED MICROSTRIP ANTENNA

An Epidemic Model of Mobile Phone Virus

Strength Analysis and Optimization Design about the key parts of the Robot

Towards Automatic Update of Access Control Policy

Comparing Availability of Various Rack Power Redundancy Configurations

ON THE (Q, R) POLICY IN PRODUCTION-INVENTORY SYSTEMS

Analyzing Ballistic Missile Defense System Effectiveness Based on Functional Dependency Network Analysis

METHODOLOGICAL APPROACH TO STRATEGIC PERFORMANCE OPTIMIZATION

Model-Driven Engineering of Adaptation Engines for Self-Adaptive Software: Executable Runtime Megamodels

An application of stochastic programming in solving capacity allocation and migration planning problem under uncertainty

An Approach to Optimized Resource Allocation for Cloud Simulation Platform

Modal Characteristics study of CEM-1 Single-Layer Printed Circuit Board Using Experimental Modal Analysis

Financial Derivatives for Computer Network Capacity Markets with Quality-of-Service Guarantees

Chapter 3 Savings, Present Value and Ricardian Equivalence

Database Management Systems

Modeling and Verifying a Price Model for Congestion Control in Computer Networks Using PROMELA/SPIN

Multiband Microstrip Patch Antenna for Microwave Applications

How to create RAID 1 mirroring with a hard disk that already has data or an operating system on it

MATHEMATICAL SIMULATION OF MASS SPECTRUM

AN IMPLEMENTATION OF BINARY AND FLOATING POINT CHROMOSOME REPRESENTATION IN GENETIC ALGORITHM

An Analysis of Manufacturer Benefits under Vendor Managed Systems

Effect of Contention Window on the Performance of IEEE WLANs

Give me all I pay for Execution Guarantees in Electronic Commerce Payment Processes

IBM Research Smarter Transportation Analytics

YARN PROPERTIES MEASUREMENT: AN OPTICAL APPROACH

Scheduling Hadoop Jobs to Meet Deadlines

STUDENT RESPONSE TO ANNUITY FORMULA DERIVATION

Reduced Pattern Training Based on Task Decomposition Using Pattern Distributor

Distributed Computing and Big Data: Hadoop and MapReduce

Towards Realizing a Low Cost and Highly Available Datacenter Power Infrastructure

College of Engineering Bachelor of Computer Science

Channel selection in e-commerce age: A strategic analysis of co-op advertising models

Converting knowledge Into Practice

An Introduction to Omega

COMPLYING WITH THE DRUG-FREE SCHOOLS AND CAMPUSES REGULATIONS

A Two-Step Tabu Search Heuristic for Multi-Period Multi-Site Assignment Problem with Joint Requirement of Multiple Resource Types

They aim to select the best services that satisfy the user s. other providers infrastructures and utility services to run

Optimizing Content Retrieval Delay for LT-based Distributed Cloud Storage Systems

THE DISTRIBUTED LOCATION RESOLUTION PROBLEM AND ITS EFFICIENT SOLUTION

est using the formula I = Prt, where I is the interest earned, P is the principal, r is the interest rate, and t is the time in years.

Improving Software Effort Estimation Using Neuro-Fuzzy Model with SEER-SEM

Multicriteria analysis in telecommunications

Data Center Demand Response: Avoiding the Coincident Peak via Workload Shifting and Local Generation

Carter-Penrose diagrams and black holes

STABILITY ANALYSIS IN MILLING BASED ON OPERATIONAL MODAL DATA 1. INTRODUCTION

Uncertain Version Control in Open Collaborative Editing of Tree-Structured Documents

AgentTime: A Distributed Multi-agent Software System for University s Timetabling

Hitachi Virtual Storage Platform

INVESTIGATION OF FLOW INSIDE AN AXIAL-FLOW PUMP OF GV IMP TYPE

Peer-to-Peer File Sharing Game using Correlated Equilibrium

California s Duals Demonstration: A Transparent. Process. Margaret Tatar Chief, Medi-Cal Managed Care Division. CA Coo 8/21/12

Firstmark Credit Union Commercial Loan Department

Over-encryption: Management of Access Control Evolution on Outsourced Data

Efficient Redundancy Techniques for Latency Reduction in Cloud Systems

Memory-Aware Sizing for In-Memory Databases

who supply the system vectors for their JVM products. 1 HBench:Java will work best with support from JVM vendors

An Efficient Group Key Agreement Protocol for Ad hoc Networks

Fixed Income Attribution: Introduction

Financing Terms in the EOQ Model

A Web Application for Geothermal Borefield Design

Real Time Tracking of High Speed Movements in the Context of a Table Tennis Application

Power Monitoring and Control for Electric Home Appliances Based on Power Line Communication

883 Brochure A5 GENE ss vernis.indd 1-2

Epdf Sulf petroleum, Eflecti and Eeflecti

Magnetic Bearing with Radial Magnetized Permanent Magnets

Self-Adaptive and Resource-Efficient SLA Enactment for Cloud Computing Infrastructures

High Availability Replication Strategy for Deduplication Storage System

AN INTEGRATED MOBILE MAPPING SYSTEM FOR DATA ACQUISITION AND AUTOMATED ASSET EXTRACTION

Application of the VISEVA demand generation software to Berlin using publicly available behavioral data

ENABLING INFORMATION GATHERING PATTERNS FOR EMERGENCY RESPONSE WITH THE OPENKNOWLEDGE SYSTEM

Chapter 2 Valiant Load-Balancing: Building Networks That Can Support All Traffic Matrices

PAN STABILITY TESTING OF DC CIRCUITS USING VARIATIONAL METHODS XVIII - SPETO pod patronatem. Summary

Define What Type of Trader Are you?

Transcription:

I T H E A 67 Softwae Engineeing and Development SOFTWARE DEVELOPMENT PROCESS DYNAMICS MODELING AS STATE MACHINE Leonid Lyubchyk, Vasyl Soloshchuk Abstact: Softwae development pocess modeling is gaining inceasing inteest among academic eseaches and IT-industy pactitiones alike as an appoach fo analyzing complex business questions of softwae poduction fom the stategic management of softwae development, to suppoting pocess impovements. A numbe of simulation models of softwae dynamics have been developed based on system dynamic appoach with the use of special simulation pogamming tools. At the same time analytical softwae development modeling ae of geat inteest as a tool of pocess optimization and contol. In this pape the softwae development pocesses model based on the state machine and queuing netwok appoach is poposed. The goal is the softwae development pocess dynamics modeling t hat is the evaluation of softwae poduct eadiness pogess in the couse of time. Softwae poduct is consideed as a set of system equiements, and softwae development pocess is epesented as consecutive tansition of each system equiement though the states of the defined state machine. The state machine model is a queuing netwok with sevice nodes which coespond to a numbe of implementes of system equiements on each stage of the development. Implementes ae business analytics, achitectues, developes, testes, etc. In geneal, the state machine is defined accoding to the used softwae development methodology. The makovian pocesses theoy is futhe used fo the queuing netwok modeling and quality indexes estimation. The poposed model can be used as a basis fo modeling the dynamics of a softwae poject development to get estimations of the following poject paametes: effot, duation, cost, esouces usage, development schedule, etc. Keywods: softwae development pocess dynamics, softwae engineeing, poduction modeling, state machine, poject management ACM Classification Keywods: D. Softwae D.2 SOFTWARE ENGINEERING D.2.8 Metics (Pocess metics, Poduct metics), D.2.9 Management (Cost estimation, Life cycle, Poductivity, Softwae pocess models, Time estimation); K. Computing Milieux K.6 MANAGEMENT OF COMPUTING AND INFORMATION SYSTEMS K.6.1 Poject and People Management (Life cycle, Staffing), K.6.3 Softwae Management (Softwae pocess), K.6.4 System Management (Management audit) Intoduction Cuently, the poblem of estimating the paametes of softwae development pojects using diffeent mathematical and statistical techniques is elevant, because it allows minimizing uncetainty in the planning, which significantly educes the isk of poject failue [McConnell, 2006]. Howeve, most models estimating paametes of softwae development pojects ae static and do not allow to estimate pogess dynamics of poject. To analyze the dynamics of the poject pogess such methods as system dynamics and simulation modeling ae applied [Abdel-Hamid, Madnick, 1991], [Lakey, 2004], [Madachy, 1996]. Fo modeling the dynamics of softwae development the development models of complex engineeing poduct by the engineeing team ae

68 Methods and Instuments of Atificial Intelligence also used [Soo-Haeng Cho, Eppinge, 2005]. The poduct itself, team paametes and the pocess of development hold many uncetainties. To cove all the pocesses of the poject both the effot that bings to the incease of the developed poduct (pogamming, documentation) and wok that do not diectly contibute to inceasing the size of the poduct (testing, contol) should be taken into account [Han, Lee, Fad, Pena-Moa, 2007]. Mathematical model fo analyzing the dynamics of the poject pogess must be pactically applicable, i.e. it must take into account eal-wold objects and pocesses that can be clealy identified and measued in a eal poject. Classical methods of identification of opeations models can be used fo these puposes [Pevozvansky, 1975] Stuctue of softwae development poject Thee ae many methodologies fo softwae development, but thee ae a numbe of basic objects, which ae pesent in the poject stuctue fo any methodology [Sommeville, 2001]. Softwae poduct equiements. Thee ae diffeent levels of detail and desciption of the equiements fo a softwae poduct, namely the business equiements, use equiements, functional and nonfunctional equiements. Functional and nonfunctional equiements ae essential fo futhe usage in the poject. One of the most convenient equiements classifications fo a softwae poduct is a FURPS model, which means: - Functionality featue set, capabilities, geneality, secuity; - Usability human factos, aesthetics, consistency, documentation; - Reliability fequency/seveity of failue, ecoveability, pedictability, accuacy, mean time to failue; - Pefomance speed, efficiency, esouce consumption, thoughput, esponse time; - Suppotability testability, extensibility, adaptability, maintainability, compatibility, configuability, seviceability, installability, localizability, potability; Poject and pocess equiements. Poject equiements ae development pocess equiements, i.e. what methodology will be used, what is the stuctue of development stages, the length of iteations, the stuctue of oles in the poject, the distibution of effot between the vaious pocesses and stages of the poject, etc. This also includes the definition of poject equiements, i.e. how the develope will pefom the taget system ceation tasks. Wok Beakdown Stuctue (WBS). WBS hieachical wok decomposition confomed to distibution esults. This wok decomposition should be pefomed to achieve the objectives of the poject and ageed distibution esults delivey [PMBOK, 2004]. With the help of hieachical wok stuctue the entie contents of the poject is stuctued and defined. WBS divides the poject to smalle and moe manageable pats, whee each lowe level of WBS povides a moe detailed definition of poject woks. Fo planned opeations confomable to the lowelevel WBS elements (they ae called wok packages), time schedule and cost estimates can be detemined as well as opeations monito and contol can be pefomed. Team stuctue and esouces calenda. The stuctue of the team specifies what esouces, i.e. what specialists ae available fo poject pefoming. Each task needs its own kind of esouces. Resouces classification may vay fo diffeent softwae development methodologies. It should be noted that each single esouce can combine multiple oles and, accodingly, can be used to pefom vaious types of opeations. Resouces calenda is the calenda of woking days and days off that detemines dates in which each esouce may o may not be used. Usually it includes woking and nonwoking peiods of each esouce [PMBOK, 2004]. Poject time schedule includes a calenda schedule of poject stages pefomance in accodance with WBS and availability of esouces fom the esouce calenda. In this case the following paametes fo the wok should be stated: sequence numbe of wok accoding to WBS, name of wok in accodance to WBS, esouce assigned fo

I T H E A 69 the job pefomance, the duation of pefomance, date and time of stating the wok and its completion, pevious and subsequent opeations. Also, the time schedule states the milestone of the poject. Poject time schedule can be pesented as a table o using Gantt chats (sometimes a tem hoizontal ba chat is used) [PMBOK, 2004]. Figue 1. A Gantt chat showing thee kinds of schedule dependencies (in ed) and pecent complete indications Poblem definition To simulate the dynamics of the poject pogess the stuctue of the poject should be fomally descibed on the basis of mentioned above elements, which ae included in the stuctue of the softwae development poject. The poject stuctue should also include a model of poduct equiements tansition fom one state of poduct eadiness to anothe. Tansitions fom one state of poduct equiements eadiness to anothe depend on the methodology of poject development. Paametes and elements of mathematical model of softwae development poject In accodance with the descibed poject stuctue following fomal objects and poject paametes desciption can be intoduced. Objects to descibe the stuctue of pocess equiements. These objects should take into account specificity of development methodology, which is used in a simulated poject: - L set of opeations (types of wok), which obtain in the selected development methodology; - S set of states of poduct equiements eadiness; - W w } matix with the types of wok fo the tansition of equiements between the states; { - w type of wok to tansit equiements fom i to j state, whee i S, j S, w L ; - P p } pobability of tansition between states matix; { - p pobability of tansition fom i to j state, whee i S, j S ; i S - p 1 condition fo the completeness exit fom any state;

70 Methods and Instuments of Atificial Intelligence - A set of atifacts that can be developed duing the poject. Example of set of woks L = {1, 2, 3, 4, 5, 6, 7, 8}, whee: - 1: specified equiements; - 2: softwae achitectue design (business logic, use inteface, data and database stuctue); - 3: pogamming; - 4: quality assuance / testing; - 5: sending equiements fo evision, defect desciption - 6: appoval of pogammed equiement; - 7: coection of detected defects; - 8: vesion elease, which will include the equiement; Example of set of eadiness states S = {1, 2, 3, 4, 5, 6, 7, 8}, whee: - 1: identified equiement (found but not yet descibed in detail); - 2: specified equiement (analyzed and included into equiements specification of developing softwae poduct); - 3: designed equiement (included into developing softwae poduct achitectue desciption); - 4: pogammed equiement (pogammed and included into the cuent woking softwae poduct vesion); - 5: tested equiement (checked fo defects and compliance with equiements included into developed softwae poduct); - 6: defective equiement (defects identified in functioning o incoect equiements implementation); - 7: appoved equiement (has been tested and appoved fo inclusion into the cuent poduct vesion); - 8: eleased equiement (included into fomal softwae poduct package). Tansitions between states, which ae set by matix W, ae defined by using development methodology and may be epesented as a netwok. An example of such a netwok is shown in Fig. 2. Figue 2. Netwok of tansitions between softwae poduct equiements states

I T H E A 71 Objects to descibe stuctue of poduct equiements. Let us intoduce the notation to descibe the paametes of the softwae poduct equiements: - Q set of equiement types; - R set of softwae poduct equiements; - M set of equiements that must be implemented befoe the stat of the -th equiement, - A b } set the types fo each equiement, R ; { - a type of -th equiement, R, a Q ; - B b } set with the cuent state of eadiness fo each equiement, R ; { - b state of eadiness fo -th equiement, - z size of - th equiement, R ; - c pioity of implementing of the -th equiement, R, b S ; R. R ; Objects to descibe esouces and esouces calenda. Let us intoduce the notation fo descibing the esouces paametes: - K set of available esouces; - V v } matix of poductivity fo k-th esouce; k { kql - v kql poductivity pefomance when l-th wok fo q-th equiement type is done using k-th esouce, whee q Q, k K, l L. If the k-th esouce is not able to pefom l-th type of wok fo the q-th equiement type, then: v kql 0. If the k-th esouce is able to pefom l-th type of wok fo the q-th equiement type, then the function of poductivity pefomance is a complex function of many vaiables: v kql v( k, q, l, z, ) (1) whee z size of equiement. Available time intevals fo pefoming the wok of k-th esouce: - T k set of initial moments of the woking peiods of time; - D k set woking time intevals duation. Poject schedule. Poject schedule is a schedule of equiements tansfe fom initial states to final states with fixation of specific values fo all the pobability vaiables and uncetainties. The basis fo poject schedule is time equied fo each wok to pefom equiements tansition fom one state to anothe. The duation of -th equiement tansition fom i-th state to j-th state can be set with following functions: whee z d (2) v( k, q, w, z, ) i S, j S, q Q, k K, w L, z size of equiement fo -th equiement, R, k numbe of the esouce, which pefoms this wok;

72 Methods and Instuments of Atificial Intelligence q equiement type; w type of wok to tansit i-th state to j-th state. Poject schedule should also include estimation of the sequence of equiements state changes, taking into account the tansition pobability matix P. Constucting technique fo model of poject pogess dynamics Solution of this poblem should include: - estimation of poject paametes: duation, effot costs, esouce costs, quality level; - estimation of esouce needs and thei time loading; - estimation of poject schedule; - estimation of dynamics in the state of equiements eadiness tansition and estimation of equiements size in each state. Fomal poject stuctue model descibed above can be used to solve these poblems. Howeve, this equies completion of the model with the following featues: - select methods and algoithms fo modeling; - develop method to estimate esouces poductivity, i.e. method of v kql v( k, q, l, z, ) function constucting; - develop function of dynamic changes in the set of equiements R with time R = R (t). The estimation of each option is best to give as a seies of values indicating the confidence level of each value, i.e. pobability of achieving such values. Fig. 3 shows the chat estimating date of poject completion, which depends on the possibilistic poject duation. Simila valuations should be issued fo effot, cost, quality and othe paametes. Figue 3. Example of estimating completion date (Pobability Distibution)

I T H E A 73 Solution of poject pogess dynamics modeling poblem will also give an oppotunity to estimate equiements states tansition dynamics and estimate equiements size in each of the states in the fom pesented in Fig. 4. 300 1: identified 4: pogammed 8: eleased 250 Requiements size (Functional points) 200 150 0 50 0 May- Jun- Jul- Aug- Sep- Oct- Nov- Dec- Jan- Feb- Ma- Ap- May- Figue 4. Dynamics of equiements size changing in diffeent eadiness states Conclusion This aticle eflects a method of fomal desciption of the model of the softwae development poject stuctue. In addition, poblem of foecasting the dynamics of the poject pogess was fomulated. The poblem can be solved using developed poject model. Developed model includes softwae poduct equiements state tansition model. Fom mathematical point of view, we have got a model that has seveal impotant popeties: - softwae poduct equiements ae objects that may have seveal states; - objects state vaies accoding to stated algoithm fom geneating state to the absobing state; - tansition fom one state to anothe is stated by cetain tansition pobability; - object always possesses some state fo a peiod of time; - new equiements can occu with the lapse of time, i.e. new objects can be geneated; - pocess is finite. Mentioned popeties allow to state that this pocess can be descibed by Makovian pocess model. In futue we plan to use simulation techniques of Makovian pocess to solve stated poblems of modeling poject pogess dynamics. Bibliogaphy [McConnell, 2006] McConnell. S. Softwae Estimation: Demystifying the Black At. Redmond, Wa.: Micosoft Pess, 2006. 352 p. [Abdel-Hamid, Madnick, 1991] Abdel-Hamid T., Madnick S.E. Softwae Poject Dynamics: an Integated Appoach. Pentice-Hall Softwae Seies, Pentice-Hall Publishing Co., Englewood Cliffs, NJ, 1991 264 p.

74 Methods and Instuments of Atificial Intelligence [Lakey, 2004] Lakey P. A Hybid Softwae Pocess Simulation Model fo Poject Management // Poceedings of PoSIM 2004 Confeence, posim.pdx.edu 2004. [Madachy, 1996] Madachy R.J. System dynamics modeling of an inspection-based pocess // Softwae Engineeing, 1996., Poceedings of the 18th Intenational Confeence on 25-29 Ma 1996. P. 376-386. [Soo-Haeng Cho, Eppinge, 2005] Soo-Haeng Cho, Eppinge S.D. A simulation-based pocess model fo managing complex design pojects // Engineeing Management, IEEE Tansactions. Volume: 52. Issue: 3, Aug. 2005. P.316-328. [Han, Lee, Fad, Pena-Moa, 2007] Sangwon Han, Sang Hyun Lee, Fad M.G., Pena-Moa F. Modeling and epesentation of non-value adding activities due to eos and changes in design and constuction pojects // Simulation Confeence, 2007 Winte. 9-12 Dec. 2007. P. 2082-2089. [Pevozvansky, 1975] Pevozvansky A.A. Mathematical models in poduction management. Nauka publishing house, Moscow, 1975. 616 p. [Sommeville, 2001] Sommeville I. Softwae Engineeing, 6-th edition. Halow: Addison Wesley Longman, 2001. 720 p. [PMBOK, 2004] A Guide to the Poject Management Body of Knowledge (PMBOK Guide), 3 d edition. Poject Management Institute, Pennsylvania, USA, 2004. 401 p. Authos' Infomation Leonid M. Lyubchyk Pofesso, Head of Compute Mathematics and Mathematical Modeling Depatment, National Technical Univesity Khakiv Polytechnic Institute ; Funze St. 21, 602 Khakiv, Ukaine; e-mail: lml51@mail.u Majo Fields of Scientific Reseach: Contol theoy (obust and model-based pedictive contol, adaptive and leaning systems), System modeling and simulation, Financial time-seies modeling and foecasting, Computational intelligence fo data analysis Vasiliy M. Soloshchuk PhD Student, Compute Mathematics and Mathematical Modeling Depatment, National Technical Univesity Khakiv Polytechnic Institute ; Funze St. 21, 602 Khakiv, Ukaine; e-mail: vsolo@insat.com Majo Fields of Scientific Reseach: Softwae engineeing, Poduction modeling, Poject management, System modeling and simulation