CN102103501A - Method for forecasting software development cost and execution time aiming at reworking - Google Patents

Method for forecasting software development cost and execution time aiming at reworking Download PDF

Info

Publication number
CN102103501A
CN102103501A CN2010106034249A CN201010603424A CN102103501A CN 102103501 A CN102103501 A CN 102103501A CN 2010106034249 A CN2010106034249 A CN 2010106034249A CN 201010603424 A CN201010603424 A CN 201010603424A CN 102103501 A CN102103501 A CN 102103501A
Authority
CN
China
Prior art keywords
activity
execution time
software
cost
personnel
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2010106034249A
Other languages
Chinese (zh)
Other versions
CN102103501B (en
Inventor
翟健
张备
杨秋松
肖俊超
杨叶
李明树
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN201010603424.9A priority Critical patent/CN102103501B/en
Publication of CN102103501A publication Critical patent/CN102103501A/en
Application granted granted Critical
Publication of CN102103501B publication Critical patent/CN102103501B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

The invention belongs to the field of software process simulation and modeling and discloses a method for forecasting the execution time and the software development cost. The method comprises the following steps of: establishing a software process model through an as-TRISO/ML process simulation and modeling language; designating the attribute of an actual activity in the model and the attribute of a human resource to be distributed according to historic experience and the like; distributing workers to a process activity; and inputting the process model, the attributes and the human resource distribution into a software process random simulation tool, simulating the simulation model for many times by simulating appointed parameters, and analyzing a simulated result to acquire the execution time and the development cost of the same activity of the software process, a probability distribution of the process execution time and the development cost, and other derivative indexes. By the method, the complexity of the process modeling is simplified; by taking reasons and influences of reworking into consideration, the method is more accurate than the conventional experience-based reworking analysis method; moreover, the simulation analysis result can be displayed in a plurality of angles, so the accuracy and the practicability of the software process analysis can be enhanced.

Description

A kind of method at do over again forecasting software cost of development and execution time
Technical field
The invention belongs to software process modelling and emulation field, be specifically related to a kind of software process realistic model and software process emulation, dope the method for software development cost and execution time by the foundation consideration personnel ability and the possibility of doing over again.
Background technology
" software crisis ", this starts from the notion of the sixties in last century, is accompanied by the whole historical development process of software industry all the time.Between many decades, software organization often will face the problem of software project over-expense and extension, and the quality of software product does not usually reach client's expection yet in the past.All attempt to address this problem from a lot of researchs of industry member and academia.In these were attempted, based on the software process Study on Technology, for example: software process modelling, software process emulation etc. all were efficient and simple method.
Current people have approved generally that the quality height of software product depends on the quality of software development process.Software process is defined by a series of partial order process steps, each step generally comprises product, personnel, computer resource, institutional framework, constraint etc. (sees also document Carlo Montangero, Jean-Claude Derniame, Badara Ali Kaba, and BrianWarboys.The software process:Modelling and technology.In Derniame et al.[126] .Pages 1-14. and CMMI Product Team.Cmmi for development, version 1.2-improving processes for betterproducts.Technical Report CMU/SEI-2006-TR-008, SEI, CMU, 2006.).Because quality and the software process height correlation of software product, therefore, under the constant situation of internal and external environment factor, improve the quality of software product, just need the quality of raising software process.The so-called quality that improves software process particularly, is exactly important position to add the quality determination activity in software process, thereby improves the quality of software process intermediate product by stages, and then reach the purpose that improves final software quality.Because the inside and outside factor is constant in the software process, therefore adds the quality determination activity and will increase the possibility of finding mistake, and then increased the workload of doing over again in the software development process.Like this, software development just needs resources such as more cost, time to guarantee that it finishes smoothly.Under these circumstances, just need a kind of method do over again in can the analysis software process activity and overall resource requirement relation, thereby forecasting software is developed needed cost and time.
In fact, the phenomenon of doing over again is a class common phenomenon in the software development.In actual environment, nearly all development project all exists more or less does over again.But, in traditional teaching material in soft project or software process field, document, model etc., all lack systematic study to doing over again.In the existing research, relate to mostly being present in the report of soft project empirical studies of the activity of doing over again.The technical report of Carnegie Mellon Univ USA will be done over again and is defined as, and " all after evaluation or the test are revised sex works " (list of references is seen K.Butler and W.Lipke.Software process achievement at tinker airforce base.Technical Report Technical Report CMU/SEI-2000-TR-014, Carnegie-Mellon SoftwareEngineering Institute, Sept.2000.).Another piece technical report claims, through investigation, 2 grades of CMM in the software organization of 5 grades of CMM, the ratio that the activity of doing over again accounts for total process execution time reduces to 6.8% from 23.2%, and (list of references is seen Diazand J.King.How cmm impacts quality, productivity, rework, and the bottom line.CrossTalk:TheJournal of Defense Software Engineering, Mar.2002.).These researchs are done over again inevitable software development just from another angle explanation, very necessary to the research of the activity of doing over again.
The problem of doing over again has been studied from the software process modelling direction by masschusetts, u.s.a university, and (list of references is seen A.G.Cass, S.M.S.Jrand L.J.Osterweil.Formalizing rework in software processes.In F.Oquendo, editor, SoftwareProcess Technology, volume 2786 of Lecture Notes in Computer Science, pages 16-31.SpringerBerlin/Heidelberg, 2003.).In the literary composition, the structure of the activity of doing over again that the author has used the Jittle-JIL language description, thus make the activity easy to understand more of doing over again, for possible analysis lays the foundation.
Reduce the influence of activity of doing over again to software development, except improving the degree of ripeness of software organization, reduce beyond the ratio that the activity of doing over again takes place, can be in advance the possible image that produced of doing over again is estimated and predicted, thereby when making a plan, consider the factor of doing over again rightly.This method organizes degree of ripeness easier, quick, effective for general software organization than raising.
The activity of doing over again is analyzed and predicted, need the participation of technology such as software process modelling, software process emulation.
Software process modelling (Software Process Modeling) is the field of a wide coverage and more complicated, and the language of many computer science or other association areas, technology all are used to solve the problem of this area.It mainly is software process is carried out abstract, expression and to analyze increasing the understanding to software process by specific method, and instructs the actual software development activities by direct or indirect mode.Different with improved model with the software process assessment, software process modelling mainly is for concrete process improvement activity provides the theory and technology support, has covered the whole process improvement life cycle that comprises definition, execution, analysis and change.Except the logging software process, another purpose of software process modelling is to give the process deviser with method, makes him can the analytic process model and deepen understanding to institute's modeling software process.
On the other hand, simulation technology is applied in the analysis field of software process in recent years more and more.This mainly is because under actual environment, because the changeable external environment condition and the effect of cost factor, the validity of studying at software process itself is difficult to obtain confirm.Compare with traditional software process analysis means, the software process analogue simulation can obtain qualitative and quantitative results simultaneously; The deviser of software process or project manager can recognize the possible influence that different choice caused at the software process key element by this result.Therefore, the software process simulation technology is applied to the software process analysis numerous areas relevant with prediction more and more, as: software process management strategy, software process management training, software process improvement etc.Can see the summary and the summary of relevant software process modelling and emulation progress in the various kinds of document.
At the problem of doing over again and the software project cost progress is predicted.The software process emulation technology can be at software process and the personnel distribution condition corresponding with it, before project begins, the possible progress of software process, cost are made a prediction, can reduce the risk faced when software process is carried out effectively, required cost when reducing software organization's project implementation, there is great reference significance in software organization.
Current Forecasting Methodology at software process execution time and cost mainly contains: the progress estimation in expertise prediction, the COCOMO model, specially at the process simulation method of progress etc.Wherein, generally need carry out modeling on general process simulation platform at the process simulation method of progress specially, it is different fully with the traditional software process model building to set up this class model, and the process more complicated; And do not make optimization at the problem of doing over again specially.The expertise Forecasting Methodology is simple relatively, and cost is low, is applicable to have the software process of doing over again, and the software organization that is fit to various scales uses; But this method too depends on expert's subjective factor, is difficult to control the accuracy of estimation, can only play less important booster action to the concrete management and the decision-making of software process.
The COCOMO model is that a kind of software project cost estimation method (sees also document Barry W.Boehm, et al.SoftwareCost Estimaion with COCOMO II, Prentice Hall (2000) .), wherein also related to the content that the software process progress is estimated.This method needs the historical experience data of a large amount of software process of the same type of software organization's analysis, thereby the required parameter value (being called the model-driven factor in the COCOMO model) of calibrating patterns reaches the purpose that the process progress is estimated.The weakness of this method is: the first, and this method more complicated, the calibration process of parameter needs a large amount of historical datas, and these data are easily collecting not generally, is difficult to analysis and arrangement; Use this method to carry out the progress prediction, need software organization ready early, constantly the calibrating patterns parameter.For general middle-size and small-size software enterprise, the cost of accumulative process historical data is very high, thereby they often are not enough to support the calibration of parameter in this model to the accumulation of software process historical data, so this method is inapplicable in such software organization.Second, this method is only according to process workload and personnel's work efficiency estimation procedure progress, and do not consider the structure of software process, if and procedure structure is unreasonable, tend to influence process operational staff's work efficiency, cause problems such as the work holdup, this has influenced the accuracy of this method forecasting process progress greatly.The 3rd, this method is not considered the influence of software repeated usage, COTS software, operating strategy etc. yet.Comprehensive what time above, COCOMO is practical, not accurate enough inadequately to the prediction of software process progress.The 4th, though the COCOMO model has been considered the factor of doing over again on a macro scale, do not have do over again relation with cost, progress of explicitly analysis, so its estimation result is not nearly enough concrete, is not enough to project management is shown enough reference values.
Summary of the invention
The object of the present invention is to provide a kind of method at do over again forecasting software cost of development and execution time.
In order to realize that the technical scheme that purpose of the present invention adopts is summarized as follows:
A kind of method at do over again forecasting software cost of development and execution time, its step comprises:
A kind of method at do over again forecasting software cost of development and execution time, its step comprises:
1) have the software process structure of doing over again with as-TRISO/ML process model building language with graphical element description, set up software process model, described graphical element comprises the sequential relationship between dummy activity, actual activity, activity;
2) determine to relate to movable attribute in the software process model by the historical data in the software process database,, comprise movable type, scale, complexity at general development activities; At the quality assurance activity, comprise movable type, scale, complexity, quality requirement;
3) determine the human resources attribute by the historical data in the software process database, comprise project personnel in demand, relate to, encode, test four-stage and divide other parameter to comprise throughput rate, output quality, unit wage, and project personnel are at throughput rate, output quality, the unit wage of above-mentioned four-stage during as the quality control officer; Each parameter adopts constant, polynomial expression or probability distribution to represent;
4) be the activity appointment operational staff of software process model according to human resources attribute and personnel activity's allocation table;
5) activity attributes and assigned operational staff's software process model to be input to and carried out repeatedly emulation in the stochastic process emulation tool be will determine, each movable execution time and cost exported;
6) by the simulation result of step 5), calculate the execution time and the cost of same activity in the software process: the mean value of same movable execution time and cost is this movable execution time and cost in each time emulation; The execution time of a plurality of activities and cost make up by the movable sequential of carrying out, and obtain the execution time and the cost of whole process.
Sequential relationship between described activity be order →, parallel ‖, selection+and condition select
Figure BSA00000397777300041
Further, the activity with the actual execution of needs is divided into general development activities and quality assurance activity.
The mode that the description of described human resources attribute takes the branch role to describe that is: is described as demand, design, coding, test, requirement quality assurance, designing quality assurance, coding quality assurance, throughput rate, output quality, unit wages different when test mass guarantees this 8 class role at these personnel respectively.
Described human resources attribute description adopts and comprises constant, polynomial expression and distribution of probability description; Wherein, personnel's throughput rate and output quality adopt normal distribution to represent that personnel's average level has been represented in the expectation of normal distribution, and the variance of normal distribution has been represented personnel ability's instability.
The execution time of described procedure activation is by formula P -1* C*S determines, p represents project personnel's throughput rate, and c represents Activity Type complicacy coefficient, and s represents the activity scale.
Described stochastic process emulation tool is a TRISO/IT stochastic process emulation tool.
Further, by each movable execution time and cost in each emulation, obtain the probability distribution of process execution time and cost under personnel assign.
Advantage of the present invention and good effect are as follows:
1. compare with the method for the execution time of adopting the forecasting software process that has the software process modelling method now, the simulation modeling language that this method adopted is promoted from descriptive software process modelling language, can directly be used for describing software process, can and understand its reference role the execution of software process.Modeling process is simple and efficient, has reduced the complexity of process model building, and more easy the applying in the actual production of process model technology gone.
2. compare with the method for execution time of the forecasting software process of existing software process modelling method, many-sided influences such as this method has taken into full account human factor, the factor of doing over again, thereby emulation that can the support software process is more easier, efficient than traditional process model static analysis method.
3. compare with the method for execution time of the forecasting software process of existing software process emulation mode, this method has been introduced the process historical data, has linked up theoretical analysis and two topmost analytical approachs of empirical analysis of software process.To the integrated use of analytical approach, accuracy and practicality that software process is analyzed have been improved.
4. compare with the method for execution time of the forecasting software process of existing software process emulation mode, this method can predict the execution time of the software process of being portrayed by model, on schedule or the possibility finished of delaying etc., simultaneously, the cost of can also the forecasting software process carrying out, and the probability density that distributes of key indexs such as cost, time, can play important significance to the actual execution of this software process.
5. compare with assigned personnel's ability description method, this method is when describing the personnel ability, and the method that has adopted different development phases to describe has respectively improved the accuracy that human resources are described; Simultaneously, this method also when indexs such as description personnel's work efficiency and output quality, adopts normal distribution to be described, and this index is showed rightly, and be easy to use and understand in actual environment.
Description of drawings
The overall construction drawing of Fig. 1 this method.
Be used to represent the graphical element of process among Fig. 2 as-TRISO/ML.
Synoptic diagram when two activities are order in Fig. 3 (a) procedure graph, synoptic diagram when two activities are concurrent in Fig. 3 (b) procedure graph, synoptic diagram when two activities are for selection in Fig. 3 (c) procedure graph, the synoptic diagram when two activities are selected for condition in Fig. 3 (d) procedure graph.
Use as-TRISO/ML to describe the example of the phenomenon of doing over again in the software process among Fig. 4 the present invention.
Fig. 5 embodiment of the invention at software process model.
Fig. 6 simulation result expectation Gantt chart
The probability distribution of Fig. 7 process execution time
The probability distribution of Fig. 8 process executory cost (background colour of Fig. 6, Fig. 7, Fig. 8 all needs to remove)
Embodiment
Below in conjunction with the drawings and specific embodiments the present invention is done detailed explanation.
The present invention uses as-TRI SO/ML (applied stochassic--Tridimentional Intergrated SoftwareDevelopment model/Modeling Language, see also document: Li, M.:Expanding the horizons ofsoftware development processes:A 3-D integrated methodology.In Proceedings of ISPW.Volume3840 of Lecture Notes in Computer Science.Pages 54-67,2005. and Li, M.:Assessing 3-D integratedsoftware development processes:A new benchmark.In Proceedings of SPW/ProSim.Volume 3966ofLecture Notes in Computer Science.Pages 15-38,2006) there is the software process of doing over again in the language description of software process simulation modeling; Next, describe attribute movable in the software process, comprising: type, scale, complexity etc.; Then, on the basis of establishment officer's attribute description, personnel are assigned in the procedure activation in the process model; Afterwards, carry out repeatedly emulation with having assigned in activity attributes and personnel's the software process realistic model Input Software process random simulation instrument, and obtain simulation result; At last, simulation result is analyzed, obtained software development process and carry out information such as required cost, time, and the index of deriving.This result can feed back to procedure designer or project manager, it is distributed the personnel in software process or the activity make modification, thereby improve procedure quality.The overall framework of this method as shown in Figure 1, mainly comprise set up procedure activation in as-TRISO/ML software process realistic model, the descriptive model, establishment officer's attribute description, be that procedure activation distributes six parts such as personnel, stochastic process simulated environment, process cost/execution time predict the outcome.
The invention provides the software process descriptive language as-TRISO/ML of patterned consideration enchancement factor, Fig. 2 has provided the graphical element and the corresponding meaning of expression software process, general technician can describe a software process based on this graphical element and (see also document J.Zhai, Q.Yang, F.Su, J.Xiao, Q.Wang, and M.Li.Stochastic processalgebra based software process simulaion modeling.In Q.Wang, V.Garousi, R.J.Madachy, andD.Pfahl, editors, ICSP, volume 5543 of Lecture Notes in Computer Science, pages136--147.Springer, 2009. and Li Mingshu, Yang Qiusong, Zhai Jian. the research of software process modelling method. software journal, 2009,20 (3): 524-545.).Graphical element of the present invention is divided into two classes: the concrete activity of software process (or claiming procedure activation), comprise dummy activity and actual activity, and actual activity is divided into general development activities and quality assurance activity again; With the relational operator that procedure activation links together, comprise concurrent ‖, selection+, in proper order →, condition selects Be used for representing the execution sequential of some activities.As shown in Figure 3, (a) the expression plurality of movable is carried out the model synoptic diagram that sequential is an order, (b) expression plurality of movable execution sequential is concurrent model synoptic diagram, (c) the expression plurality of movable is carried out the model synoptic diagram of sequential for selecting, and represents that (d) it is the model synoptic diagram that condition is selected that plurality of movable is carried out sequential.Above-mentioned activity, execution timing graph symbol are made up, and can describe will be by the software process of emulation.For example, a development activities and movable recursive structure of doing over again that constitutes of quality determination promptly represented shown in Figure 4.Two sequential relationship symbols are arranged among this figure, enter after the dummy activity VA, carry out FA in order earlier, carry out QA again, enter dummy activity VA afterwards RIf the attribute q of FA is less than given numerical value p, then process enters dummy activity VA, and promptly FA and QA all need to carry out in order once more, till q is more than or equal to p, jump out recurrence, and it is next movable to enter.
The attribute that the present invention describes in the software process model general development activities needs three indexs such as the type, scale, complexity of specified activities; For the quality assurance activity, need further given mass demand.For example, movable FA:(DES, 10,2) represent that the type of general development activities FA is DES (design activity), expection output products scale is 10 units, the activity complexity is 2; Movable QA:(DES, 10,1,0.9) represent that quality assurance QA is the quality assurance activity that (design activity) carried out to DES, needing the product scale of evaluation is 10 units, activity complexity 1, quality requirements is 0.9, promptly the accuracy that must confirm the product of checking is more than or equal to 90%, and activity could finish, otherwise need be done over again.The process manager can set up Activity Type complicacy coefficient table according to actual conditions; The value of C can be with reference to table 1, and S is the predicted value of movable scale, can be determined by the function point quantity that requires in the demand to realize, also can be obtained by the historical data estimation of saved software process in the software process management database.
Demand event Design activity The coding activity Test activity Quality activity
Movable complexity factor 1 2 0.5 0.75 1
The list of values of table 1 Activity Type complicacy coefficient C
Establishment officer's attribute description that the present invention need set up comprises in the tissue personnel respectively as demand, design, coding, tester, and work efficiency, output products quality and unit wage during above-mentioned stage QA quality assurance.Particularly, each personnel's attribute is two matrixes, represents their attribute as general development activities personnel and QA quality assurance the time respectively.For example, following previous expression formula is represented the attribute of personnel Op respectively as exploitation quadravalence section personnel the time; Then an expression formula is then represented the attribute of personnel Op ' as the QA quality assurance time.
Op : ( P ~ , Q ~ , W ~ ) T = p req q req w req p des q des w des p cod q cod w cod p tes q tes w tes , Op ′ : ( P ~ ′ , Q ~ ′ , W ~ ′ ) T = p req QA 1 w req QA p des QA 1 w des QA p cod QA 1 w cod QA p tes QA 1 w tes QA
Need to prove that personnel's attribute does not also require that 8 item numbers are according to all assigning numerical value.Should determine personnel's attribute according to actual conditions (comprising: personnel's virtual rating, historical data etc.) here.For example, personnel may can only carry out the work of demand exploitation or demand quality inspection, and do not carry out the ability of other types activity, will have only first line data so in two matrix respectively, and other line data are 0.In addition, personnel's work efficiency here and output products quality can be constant, polynomial expression or stochastic variable, in use, can be according to the needs of reflection personnel hands-on background, the appropriate selection.General, can select the work efficiency and the output quality that use normal distribution to represent personnel, wherein, the average work efficiency of personnel, output quality etc. can be used as the expectation of normal distribution, and the variance of normal distribution then is used for portraying personnel ability's instability.The fluctuation of the big more explanation personnel of variance work efficiency, output quality is big more, and promptly its ability is unstable relatively.
When the present invention is software process model activity personnel assigned, need to be assigned to procedure activation with the personnel that carry out this mobility that have of Activity Type coupling one by one.In the process of this appointment, personnel's work efficiency and output quality are with the execution time of influence process, and personnel's output quality and movable mass demand are with the number of times of doing over again movable in the influence process, and personnel's wage and process execution time are with the executory cost of influence process.Whether different personnel's assignment scheme rationally or not satisfy the objective environment constraint, need and analyze and be judged by emulation.
In this method,, determine duration r=P movable in the said process model by the project personnel's that intend assigning throughput rate P, Activity Type complicacy coefficient C, movable product expection scale S -1* C*S.Because personnel's work efficiency generally adopts normal distribution to be described, and the analytic expression of the inverse of the stochastic variable of Normal Distribution is difficult to determine, therefore, need carry out random value to personnel's work efficiency when emulation, and the computational activity execution time at every turn.According to monte carlo method, at realistic model through repeatedly (being generally 10 6With last time) carry out after, all previous experimental result is averaged, can access and consider to do over again and personnel ability's surging condition intended procedure execution data down.
Selection to emulation tool in this method is more flexible, can use special-purpose process stochastic process emulation tool, as: PEPA (seeing also document http://www.dcs.ed.ac.uk/pepa/tools/), Dizzy stochastic process emulation tools such as (seeing also document http://magnet.systemsbiology.net/software/dizzy/), also can use general analysis of encoding instrument to set up the simulated environment of the uniqueness that satisfies the demands.To adopt the stochastic process emulation tool TRISO/IT that develops for this method specially to carry out emulation in the following examples.TRISO/IT can cover the bright proposition of this law from setting up realistic model, determine activity attributes, describe Overall Steps such as personnel's attribute, distribution personnel, emulation, analysis.
In order to make those skilled in the art person better understand the present invention, the present invention is described in further detail to provide specific embodiment below.
At first, need analyzed software process model with the as-TRISO/ML description.Embodiment provides the software process work flow diagram that will predict as shown in Figure 5, and this software process comprises 7 general development activities AA1-AA7, and two quality assurance activity AA1 ', AA2 '.Wherein, AA1 ' is responsible for the quality assurance of AA1, and its quality requirements is p1; AA2 ' is responsible for the quality assurance of AA2, and its quality requirements is p2, meets or exceeds quality requirements, and process could be carried out downwards, otherwise will do over again to activity; The bascule of describing among the structure of two dummy nodes of VA1 and VA2 and Fig. 4 of doing over again is consistent.Movable AA3 and AA4 execution in proper order, AA5 and AA6 carry out in proper order, and the concurrent execution of VA4 and VA5.Last activity of whole process is AA7.
In second step, need each movable attribute in the assignment procedure.The data of the procedure activation attribute that adopts in the present embodiment are from historical data, and are as shown in table 2 below.
Activity SN Activity Type The output scale The type complexity Quality requirement
AA1 Demand event 20 pages 1 -
AA1’ Quality activity 20 pages 1 0.95
AA2 Design activity 5 pages 2 -
AA2’ Quality activity 5 pages 1 0.95
AA3 The coding activity 10KLoc 0.5 -
AA4 Test activity 10KLoc 0.75 -
AA5 The coding activity 8KLoc 0.5 -
AA6 Test activity 8KLoc 0.75 -
AA7 Test activity 18KLoc 0.75 -
Table 2 procedure activation attribute
In the 3rd step, need set up human capacity building and describe.The human capacity building that adopts in the present embodiment is described below shown in the table 3.
Figure BSA00000397777300091
Figure BSA00000397777300101
Table 3 personnel ability attribute
In the last table, personnel Op0 has 4 kinds of abilities, is respectively the ability of carrying out demand event, requirement quality activity, design activity, designing quality activity.Op1 and Op2 respectively have two kinds of abilities, can carry out demand event and requirement quality activity respectively.Design activity and designing quality activity.Op3-Op6 all has the movable and two kinds of abilities of test activity of the coding of execution.Op7 only can carry out a kind of activity of test activity.The ability that the ability that personnel do not relate in the table 3 does not possess for these personnel.
In the 4th step, be the appropriate personnel of movable appointment in the process.The manpower that adopts in the present embodiment is assigned as shown in table 4 below.
Activity SN Activity Type Personnel assigned
AA1 Demand event Op1
AA1’ Quality activity Op0
AA2 Design activity Op2
AA2’ Quality activity Op0
AA3 The coding activity Op3
AA4 Test activity Op4
AA5 The coding activity Op5
AA6 Test activity Op6
AA7 Test activity Op7
Table 4 personnel activity distributes
As shown in table 4, in the procedure activation that personnel in the table 3 are described in the table 2 by its capability distribution.Mandatory principle is to be assigned to these movable personnel this movable ability of execution must be arranged in personnel distribute; Added another principle among the embodiment, promptly general development activities and its corresponding quality activity can not be carried out by same individual.Therefore, Op1 has carried out AA1 just can not carry out AA1 ' again, and AA1 ' need be carried out by Op0; Similarly, the relation of Op2 and Op0 too.In actual application, personnel's distribution can be taked more flexible way, as: take all factors into consideration efficient, quality, wage of personnel etc., no longer add further allocation rule in the present embodiment.At the distribution of human resources in procedure activation, there is particular study specifically to launch (to see also document: Archibald R.D.:ManagingHigh-Technology Programs and Projects, 3rd ed.Hoboken, N.J.:John Wiley (2003), BruckerP.Scheduling Algorithms.Springer Verlag.2001), the method and this method of distributing do not belong to same field, in the methods of the invention only need be with the data input analogue system of distributing.
In the 5th step, with finishing the software process model input process analogue system of above-mentioned preliminary work, carry out simulation run, and analyze its result.
After present embodiment is input to TRISO/IT process simulation instrument, can export as Fig. 6,7,8 simulation result.Wherein, Fig. 6 is the expectation Gantt chart of embodiment process, and Fig. 7 is the probability distribution graph of process execution time among the embodiment, and Fig. 8 is the probability distribution graph of process executory cost among the embodiment.
The process expectation Gantt chart of shape such as Fig. 6 has been described certain movable beginning, end, duration.Horizontal ordinate express time among the figure (generally being unit with the sky), ordinate is represented activity.Each color block among the figure is represented an activity, and the start time of color lump left side expression activity, the movable concluding time is represented on the color lump right side, and the length of color lump is represented the movable duration.In our expectation Gantt chart,, cost, duration that should activity, the reading of the number of times of doing over again (doing over again) also on each color lump, have been marked if exist except These parameters.Make the entrained quantity of information of Gantt chart bigger, more very clear like this.Particularly, wherein the structure of doing over again that is made of AA1 and AA1 ' is represented with TA1 in Fig. 6, similarly, is represented with TA2 in Fig. 6 by the structure of doing over again that AA2 and AA2 ' constitute.As can be seen from Figure 6, AA1 and AA1 ' carried out 15.7 days altogether, spent 8098.39 yuan, on average did over again 1.25 times (i.e. two activities are on average respectively carried out 2.25 times).And AA2 and AA2 ' carried out 12.62 days altogether, spent 9872.04 yuan, on average did over again 0.74 time (i.e. two activities are on average respectively carried out 1.74 times).Other movable nothings are done over again, and required time and cost also all mark in the drawings separately.
Fig. 7 is the statistics of this software process realistic model execution time, reflected should the execution time probability distribution, wherein transverse axis is represented the software process execution time, the longitudinal axis is represented probability.As can be seen from Figure 7, the process execution time of expectation is 72.24 days, and its probability is 57.70%, and promptly process was 57.70% at 72.24 days with the interior probability of finishing.Further, can instead look into the time of complete process in a certain probability.For example, the time of complete process is 84.95 days in 95% fiducial interval, and promptly process has 95% possibility to finish with interior at 84.95 days.
Fig. 8 has showed the probability distribution of process executory cost, and wherein transverse axis is represented the required cost of software process, and the longitudinal axis is represented probability.As can be seen from Figure 8, the expected cost of process is 56371.59 yuan, and its probability is 56.96%, and promptly process is 56.96% at 56371.59 yuan with the interior probability of finishing.Further, can instead look into the cost of complete process in a certain probability.For example, the cost of complete process is 64106.39 yuan in 95% fiducial interval, and promptly process has 95% possibility to finish with interior at 64106.39 yuan.
Above-mentioned simulation result can feed back process designer or project manager.If simulation result does not meet the external constraint of software process, then can redesign process or adjustment personnel and distribute, thereby the improved project plan reduces risk.This method is carried out the cost/progress of Gantt chart, expectation with the process of expection, and the probability distribution that cost/progress takes place offers the user, can provide strong reference role for the design of process, personnel's distribution etc.
Although disclose specific embodiments of the invention and accompanying drawing for the purpose of illustration, its purpose is to help to understand content of the present invention and implement according to this, but it will be appreciated by those skilled in the art that: without departing from the spirit and scope of the invention and the appended claims, various replacements, variation and modification all are possible.The present invention should not be limited to this instructions most preferred embodiment and the disclosed content of accompanying drawing, and the scope of protection of present invention is as the criterion with the scope that claims define.

Claims (8)

1. method at do over again forecasting software cost of development and execution time, its step comprises:
1) have the software process structure of doing over again with as-TRISO/ML process model building language with graphical element description, set up software process model, described graphical element comprises the sequential relationship between dummy activity, actual activity, activity;
2) determine to relate to movable attribute in the software process model by the historical data in the software process database,, comprise movable type, scale, complexity at general development activities; At the quality assurance activity, comprise movable type, scale, complexity, quality requirement;
3) determine the human resources attribute by the historical data in the software process database, comprise project personnel in demand, relate to, encode, test four-stage and divide other parameter to comprise throughput rate, output quality, unit wage, and project personnel are at throughput rate, output quality, the unit wage of above-mentioned four-stage during as the quality control officer; Each parameter adopts constant, polynomial expression or probability distribution to represent;
4) be the activity appointment operational staff of software process model according to human resources attribute and personnel activity's allocation table;
5) activity attributes and assigned operational staff's software process model to be input to and carried out repeatedly emulation in the stochastic process emulation tool be will determine, each movable execution time and cost exported;
6) by the simulation result of step 5), calculate the execution time and the cost of same activity in the software process: the mean value of same movable execution time and cost is this movable execution time and cost in each time emulation; The execution time of a plurality of activities and cost make up by the movable sequential of carrying out, and obtain the execution time and the cost of whole process.
2. the method for forecasting software process execution time according to claim 1 and cost is characterized in that: the sequential relationship between described activity for order →, parallel ‖, selection+and condition select
Figure FSA00000397777200011
3. the method at do over again forecasting software cost of development and execution time according to claim 1 is characterized in that: will need the activity of actual execution to be divided into general development activities and quality assurance activity.
4. the method at do over again forecasting software cost of development and execution time according to claim 1, it is characterized in that: the mode that the description of human resources attribute takes the branch role to describe that is: is described as demand, design, coding, test, requirement quality assurance, designing quality assurance, coding quality assurance, throughput rate, output quality, unit wages different when test mass guarantees this 8 class role at these personnel respectively.
5. the method at do over again forecasting software cost of development and execution time according to claim 1 is characterized in that: the human resources attribute description adopts and comprises constant, polynomial expression and distribution of probability description; Wherein, personnel's throughput rate and output quality adopt normal distribution to represent that personnel's average level has been represented in the expectation of normal distribution, and the variance of normal distribution has been represented personnel ability's instability.
6. the method at do over again forecasting software cost of development and execution time according to claim 1, it is characterized in that: the execution time of procedure activation is by formula P -1* C*S determines, p represents project personnel's throughput rate, and c represents Activity Type complicacy coefficient, and s represents the activity scale.
7. the method at do over again forecasting software cost of development and execution time according to claim 1 is characterized in that: described stochastic process emulation tool is a TRISO/IT stochastic process emulation tool.
8. the method at do over again forecasting software cost of development and execution time according to claim 1 is characterized in that: by each movable execution time and cost in each emulation, obtain the probability distribution of process execution time and cost under personnel assign.
CN201010603424.9A 2010-12-14 2010-12-14 Method for forecasting software development cost and execution time aiming at reworking Expired - Fee Related CN102103501B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201010603424.9A CN102103501B (en) 2010-12-14 2010-12-14 Method for forecasting software development cost and execution time aiming at reworking

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201010603424.9A CN102103501B (en) 2010-12-14 2010-12-14 Method for forecasting software development cost and execution time aiming at reworking

Publications (2)

Publication Number Publication Date
CN102103501A true CN102103501A (en) 2011-06-22
CN102103501B CN102103501B (en) 2014-01-15

Family

ID=44156296

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201010603424.9A Expired - Fee Related CN102103501B (en) 2010-12-14 2010-12-14 Method for forecasting software development cost and execution time aiming at reworking

Country Status (1)

Country Link
CN (1) CN102103501B (en)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108399496A (en) * 2018-02-09 2018-08-14 中国人民解放军海军航空大学 The sequential movable strike cycle evaluation method of group of planes operation based on probability
CN109460908A (en) * 2018-10-29 2019-03-12 成都安美勤信息技术股份有限公司 Software engineering cost evaluation method
CN109472425A (en) * 2017-09-07 2019-03-15 上海嘉实(集团)有限公司 Labor Cost Management method, system, storage medium and the terminal device of live project
CN113222300A (en) * 2021-06-15 2021-08-06 中国银行股份有限公司 Method and device for processing product modification data, readable medium and equipment

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101004680A (en) * 2006-11-23 2007-07-25 福建顶点软件股份有限公司 Flexible, fast software development method and support system by using kernels of direct operation object model definition
CN101140513A (en) * 2006-09-08 2008-03-12 中国科学院软件研究所 Software requirement acquiring system
CN101546273A (en) * 2009-05-08 2009-09-30 中国科学院软件研究所 Method for forecasting execution time of software process

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101140513A (en) * 2006-09-08 2008-03-12 中国科学院软件研究所 Software requirement acquiring system
CN101004680A (en) * 2006-11-23 2007-07-25 福建顶点软件股份有限公司 Flexible, fast software development method and support system by using kernels of direct operation object model definition
CN101546273A (en) * 2009-05-08 2009-09-30 中国科学院软件研究所 Method for forecasting execution time of software process

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109472425A (en) * 2017-09-07 2019-03-15 上海嘉实(集团)有限公司 Labor Cost Management method, system, storage medium and the terminal device of live project
CN108399496A (en) * 2018-02-09 2018-08-14 中国人民解放军海军航空大学 The sequential movable strike cycle evaluation method of group of planes operation based on probability
CN108399496B (en) * 2018-02-09 2021-05-07 中国人民解放军海军航空大学 Attack period evaluation method for machine group combat sequential activities based on probability
CN109460908A (en) * 2018-10-29 2019-03-12 成都安美勤信息技术股份有限公司 Software engineering cost evaluation method
CN113222300A (en) * 2021-06-15 2021-08-06 中国银行股份有限公司 Method and device for processing product modification data, readable medium and equipment
CN113222300B (en) * 2021-06-15 2024-04-30 中国银行股份有限公司 Method, device, readable medium and equipment for processing product modification data

Also Published As

Publication number Publication date
CN102103501B (en) 2014-01-15

Similar Documents

Publication Publication Date Title
Nwodo et al. A review of life cycle assessment of buildings using a systematic approach
Balcomb et al. Multi-criteria decision-making process for buildings
Lee et al. Network analysis for management decisions: a stochastic approach
CN102103501B (en) Method for forecasting software development cost and execution time aiming at reworking
Türkakın et al. Delay analysis in construction projects with no updated work schedules
CN108460191B (en) Optimization method of machine tool cross beam design scheme based on quality function expansion
Huang et al. Estimation of project completion time and factors analysis for concurrent engineering project management: a simulation approach
Lakey A hybrid software process simulation model for project management
CN101546273B (en) Method for forecasting execution time of software process
Esquenazi et al. Evaluation of lean improvements in residential construction using computer simulation
Mather A framework for building spreadsheet based decision models
Clevenger et al. The value of design strategies applied to energy efficiency
Arun Knowledge-Based Decision Support Tool for Duration and Cost Overrun Analysis of Highway Construction Projects
Nur et al. Success Factors for Lean Six Sigma Implementation and Time Cost Trade off in High Rise Office Buildings to Improve Cost and Time Performance
Rahman et al. BIM-Lean relationship assessment framework: A conceptual establishment.
Kostrzewa et al. Scheduling construction processes using the probabilistic time coupling method III
Bąkowski Analytical tools for functional assessment of architectural layouts
Zaneldin et al. Using spreadsheets and VBA for teaching civil engineering concepts
Mohammad et al. An Exploratory Factor Analysis (EFA) of building information modelling uses towards bim adoption for BIM-based projects: Contractors perspective
Mályusz et al. An estimation of the learning curve effect on project duration with Monte Carlo simulation
CN112184134A (en) Network plan rationality evaluation dimension design method, evaluation method, system and device
Sambinelli et al. Modeling and performance analysis of scrumban with test-driven development using discrete event and fuzzy logic
Ahmed et al. The factors that affect constructability in Iraq
Faustine et al. The Rank of Factors Affecting Labor Productivity on Construction Projects
Gobillon et al. Quantile-based inference of parametric transformations between two distributions

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20140115

Termination date: 20201214