SESAM - Simulating Software Projects

Transcription

1 SESAM - Simulating Software Projects 1. Ludewig. Th. Bassler. M. Deininger, K. Schneider, 1. SchwiUe Software Engineering Group, Dept. of Computer Science. University of Stuttgan, FRG Abstract Teaching softwau tnginuring as well as researching in this area is ~ry tedious due to the length and cosdi~ss of software projects. SESAM therefore is designed as a simulator for software projects, allowing students to gain reality liu experiences in project management and researchers fa evaluate hyj1()theses on the ~chanisms influencing software projects. This papu focuses on the bosic assu.mptions for SESAM, its building blocb and the way hypotheses are affecting the simulation. After a short description of the requirements for SESAM we introduce objects. atlributes, actions. relationships berwun objects and hypotheses as its basic concepts. We present attributed graph grammars as a melll1s for representing hypotheses. Finally we position our project with respect to refated work. and we show its present state andjujure rkveloptneflt. 1 Introduction 1.1 SESAM: A simulator The process of software development has not yet been fully described and explained. There is no comprehensive and generally accepted model for the process of software development (SommerviJIe, [7], p. 6). Models exist only for some classes of software projects (e. g. waterfall model, rapid prototyping). The lack of a reliable basis complicates any research anempt in the area of software engineering. Software engineering knowledge consists of a great number of tiny fragments; the glue for these fragments, an ovecall model, has not yet been foond. What impact has this deficit in theory on the education of new software engineers? Upon graduation, they fll'st have to gather experiences in different project tasks (software development, design, systems analysis etc.), before they are able (and trusted) to Je.ad a software project. University education can shorten this "uaining on the job", but can never replace it SESAM ("Software Engineering Simulation by Animated Models") is intended to support both software engineering researchers and teachers. SESAM is a tool for simulating software projects. Its basic concept is borrowed from adventure games with the player leading a fictitious software project. The goal of the game is to successfully carry out and finish the project. During the game. the player wiu be confronted with complicating events: slaff members resign, important tools are delivered late or with severe bugs. the client changes the requirements, and so on. Time is passing and money is spent., with no way for the player to cheat. There is no predefined path through the game-the player has to find his or her own way to project completion. It is left to him or her how to assign the workload of the project to the staff members. Figure 1 shows a prototype of the player's world (that is. the user interface). At the end of the project the game is rated. Strong and weak points of the player's project management are indicated---based on a scale that has been set by the model builder, along with other parameters of the game. 1.2 Aspects of SESAM SESAM users belong 10 one of 1wO groups. One groupthe model builders. who experiment using the parameters provided by SESAM-aim at a better understanding and explanation of the various aspects of the software development process. The other group---the players-wish 10 gain experience in project management. Typical players are students. whereas the model builders are researchers. Which gains can these groups expect from SESAM? For the model builder, there are the following aspects: SESAM contains a collection of precisely defmed hypotheses about the software development process, whereas in the software engineering literature rules and causal correlations (hypotheses) generally are stated rather vaguely and ambiguously. Assumptions can be validated using SESAM simulation. This applies especially to the collection of hypotheses mentioned above. For a player. there are different benefits: He or she can undergo reality-like project management experiences at low cost (simulation is irejtpensive), in short time (a game proceeds much faster than reality) and at no risk (a failed SESAM project does no dam ")1 SO'J.OO C 1992 IEEE

2 lesen erstellen ende FII/. f A game snapshot from SESAM: To the top lott window shows the minutes of meeting (In the aspect "profile"), below another meeting Is )ust In progre.. (here.howlng the people Involved). The player has opened a pop-up menu tor executing Interactions. age, while a failed project in rea1ity might do immense ~). SESAM addresses the human instinct of play. In playing with SESAM, the student experiences the effect of his or her decisions. Learning by experiences js intuitive and therefore more efficient than teaching project management in terms of "good advice" during a cowse. SESAM is a forecasting tool. Using SESAM, various alternatives for a on-going project can be evaluated. In real life, there is no way 10 roll back. time in order 10 alter a decision of the past. 1.3 Requirements for SESAM From the aspecis described above, we can conchde the following requirements for SESAM: SESAM has 10 provide the principal elements of a software project (staff, time, budget etc.), together with operations on these elements. Every important decision of a software project must be modelled in SESAM. Games have to proceed close to reality, i. e., if the player makes the same decisions during the game as were made in a real project. the results of the game must be comparable 10 the results of the project. The user interface w to be attractive and must facilitalc the use of SESAM. SESAM has to be setf-explanajory. Games must be repeatable, so that the player can try different alternatives of managing the same projecl SESAM must give reasons for the rating of the player's game. SESAM must provide easy-l(ruse building blocks for the construction of models for the software develop.. ment process. The model buildec must be able 10 parameterize the building blocks, using a mechanism much like the effort multiplien of =MO (2).

3 2 Assumptions, concepts and roles 2.1 Basic assumptions When building SESAM we assume that it is possible to model the software development pucess using objects. re.. lationships between objects, actions and hypotheses, where objects and relationships can be seen as nodes and edges of a graph. Objects have attribules to represent their individual properties. TIle player can change relationships-i. e. the edges of the graph-by actions. Using hypotheses, it is possible to defme changes for the struettue of the network as well as for attributes of objects. Objects, attributes, relationships. and actions will be discussed in the remainder of this chapter. Hypotheses and. based thereon, the modelling of regularities in software engineering are presented in chapter Building blocks Fig. 2 Effect of actions and hypotheses: The starting situation. The objects to be found in a real life software project include the peopie involved. the documents to be used and produced. and all necessary operational reserves. People may be clienls, project managers, software developers and so on. Documents comprise all of the software (i. e., specifications. design. code. testing plan, documentation eic.), but also any related contracts. standards. books. Operational reserves are, amongst others, budget. off aces, computers or tools. However, objects are not sufficient by themselves; they must have individual properties. Propenies are stored in attributes. whose values may range fn:m rough ind)calions like "the design has a high degree of complexity" to e~t quantities like "programmer X has a productivity of 2.3 LOC/h". Some examples for objects and altributes "'" a person "project staff membec" having the attributes age (in years). education ("8S", "MS", "PhD",... ), design experience (measured by the number of pr0- jects he or she was involved in as a designez), design skill (a number on a scale from 0 to 10); a document "high level design" with its auributes size (number of characten). - complexity ("k)w", "standard", "high''), - qua!;,y C'low", "acceptable", "lugh,,); a ''CASE tool" with its attributes J)m'Cha$e-price (in cwtency units). - design method supponed ("structured design", "object oriented design"... ). Objects may be connected by relationships, which are symmetric or asymmetric (i. e. the corresponding edges Fig. 3 Effect ot actions and hypotheses: The resulting situation after execution of the actions "terminate meeting" and "pr. pare low level design using CASE tool". are non-directed or directed, respectively). In the course of the software development process, relationships exist mainly as relationships in communications and interactions or as organizational relationships. Consider for instance: "reads": a staff member reads a high level design docwncn!, "manages": a CASE tool manages a high level design docwncnt, "uses": a staff member uses a CASE "produces": a staff member produces a low level design docwnent, "talks 10": a possibly symmetric relationship-two staff members are talking to each other. A distinct partial graph of the network of objects and relationships is called a situation. During a SESAM simulation the state of the network will be changed. This is achieved by actions and hypotheses. Both actions and hypolheses apply to a particular situation. TIley change relationships in that situation, i. e., establish a relationship between objects or remove il They may also generate new objects. Furthennore. hypotheses may change attributes of objecls in the situation considered. Actions are triggered by the player, who wishes to influence the proceeding of lhe game. Hypotheses are triggered by the simulator and without any intervention by the player, if MO

4 there is a situation that matches the preconditions of the hypothesis. Changes effected by a hypothesis are deter mined by the (assumed) rules applicable to the current situatioo. We will clarify this by an example: Starting situation: The project is in its design stage; high level design (JILD) has been successfully completed. It bas been stored via a CASE 1001, which will be used throughout the project Low level design (LLD) has not yet started. Project membel's A and B are in a meeting (i. e. are talking to each other). This state is shown in figure 2. The player now wishes to assign person A 10 LLD. A shall use the lll..o document and the CASE tool. To this end the player execules the actioo ''tcnninace mee- ting". which delelcs the relationship "talks to" that connected A and B. A is now free and can work. on UD. The action "Iow level design using CASE tool" generates a new document "LLD" and establishes the necessary relationships as shown in figure 3. Based on this situation a hypothesis on the effect of using CASE tools for LLD fires. It changes the attributes of the objects involved, following the assumptions stated in the hypothesis. This might mean that the size of the UD document becomes four times the size of the In.O document, and. because this is A's fll'st project as a software designer. the quality attribute is set to.. acceptable" although the quality of the HLO document was "high". A more detailed discussion of hypotheses and their influ ence on the elements of our software engineering simula lion follows in chapiu Player, model builder and developer Three roles are to be considered in SESAM-player. me; del builder and developer. The player gets a project generated by SESAM and has to use his or her acting a1tema lives as a project manager to successfuuy complete the projecl He or she may apply actions to objects and thus change the network of relationships; the player may not. however. modify object aaributes oc relationships directly. Depending on the state of the network SESAM identiflcs situations and their ma1ching hypotheses. This leads to changea or object attributes and rclationships. Conscquoody, the "project manager's""'" is to seicet an appropriate action for the actual state of the project from the given set, and ID have it executed. This generates a new state of the simulated project.. which may trigger some hypotheses, again changing the state of the projecl The action hypotheses cycle will be repeated until the software product in question is completed.t Based on the t Of IlOUI'IC no real tofl,.-are product it proctuced id SESAM. juat!he model cl produci that would have bcco produced. if one bad takep!be lame dm:uimu md aeamd!he lame action in real projea. game hisrory and the final slate, the quality of the project will be evaluajed. Objects and their attributes. relationships, and the me chanism to describe actions and hypotheses rogether form a conslruction kit The model builder takes the elements from the kit to determine the actions the player may use. and to build the hypotheses to be triggered by the simula UJ'. The set of hypotheses and actions make up the model of the software development process, which the model builder wants to control the game. Besides describing hypotheses and actions, the model builder generates the starting situation the player wilt face in his or her game, and sets up the rules foc the fmal evaluation of the game. It is the developer's task to P'Ovide the construction kit for the model builder and the mechanism of simulation for the player. Summarizing the roles in SESAM: the developer produces the basic concepts. the model builder takes them to construct hypotheses and actions and to provide a starting situation for the game, the player uses the simula tion environment and the starting siwation to simulate a software projecl 3 Hypotheses on software projects 3.1 What are hypotheses? Objects and relationships build up the static structure of our software project model But simulation of a software project with its complex internal interrelationships re quires modelling irs dynamic structure, too--how 00es the project proceed. how does the software product change? Some reasons foc changes in the project state- are quite obvious (e. g. the monthly payment of salary at a fued dale decreasea the remaining budget) and may be hardwi1<d within objects or the simulator. However. there are a large number of other interrelationships that influence the project Slate and thus the project evolution itself. In software engineering literature many of these are referenced. e. g., Sommerville ((7]. p. 43) cites from a study scating that "the size of an organization correlales nega tively with job satisfaction and productivity. It correlates positively with absenteeism and staff turnover." In contrast 10 the obvious reasons for changes of the project state mentioned above, such statements at fn have the nature of a hypothesis--they are unproven scientific as- sumptions. Only after validating these hypotheses empirically--cr proving them in any other way--they may be taken for cutain and built firmly into the model. In some cases. a "Projut Iwc." meadi tbc:,..-bole of Aa'" of all objectj id"oived in the projeel. 611

5 different wording or a variation of a hypothesis may prove to be more reliable, comprehensive or simply more corroct. It is for instance not ar. all obvious, whether there exists a relation between the hypothesis above on corre-. lation of job satisfaction and size of an organization, and the well known "Brooks's law"; "Adding manpower to a late software project makes it later'" «(3], p. 25). Do both hypotheses explain a common phenomenon? Do they just stress different aspects or are they in fact independent? Maybe one is a special case of the other? A hypothesis may also turn out to be obsolete, trivia] or plain wrong. 1berefore we treat such statements with caution and separate them from "well proven" parts of the model. In SESAM sunnises on interrelationships which are nol pr0. ven are called what they are-hyporhtsts. We suppose that the "treasure of software engineering knowledge" mostly consists of such observations. sunnises and conclusions. so they have to be represented as such in our model. But hypotheses are not always as explicitly stated and easily recognized to be surmises of interrelationships as the ones above. Sometimes they are contained implicitly in rules of etiqueue and practices of software engineering-structured Programming. Suuctured Analysis ~ object oriented methods are not used just for fun. but because they come with the promise of "improvement". Wherever. beyond this promise, there is no concrete statement of what kind of improvement is to be expected, scepticism is indicated. We hope to clarify such cases by building SESAM. SESAM will provide a facility for gathering hypotheses from a variety of sources and for studying their inlc'zaction. 3.2 Hypotheses are vague SESAM will provide quantitative statements on the development and success of the software project simulated. To achieve this objective, all parts of the simulation model must be unambiguous, precise and quantifiableeven hypotheses. Therefore. for the purpose of simulation. each of the following questions must be answered for every hypothesis: Which siwation must exist for the hypothesis to be appticabie? Who and what is important for the hypothesis. i. e., who is involved. who or what will be influenced? Which consequences arise from accepting the hypothesis as an expression of a real life interrela1ionship? Unfortunattly. hypotheses mostly are vague or not stated explicitly at all. (E. g., what is the promise of structured programming? If slated explicitly. new hypotheses might show up.) Sometimes the author is 1101 obit to indicate the consequences of a hypotheses in full detail, because his or her observations are of only qualitative nature. In such a case, it might indeed be the goal of simulation to find a more precise wording for the hypothesis by nuing and varying its paruneters-or to unmask it as inconsistent or untenable. 3.3 Making hypotheses precise 11lc problem of finding an adequate representation for hypotheses places us in a dilemma: On the one hand, statements are to be formulated in accordance with their appucation domain--the software development process and its intemal interrelationships. On the other hand, a formal, computable representation is indispensable. Ignoring one of these two demands leads to unpleasant ClOr'Igequence5: Too informal a representation is of no use for the purpose of simulation-a computer cannot evaluate il Too formal a representation renders Jwman handling of hypotheses difrtcuh. It is hard to recognize whether a set of fonnal expressions correlates with the hypothesis it is derived from or whether some semantics have been added or taken away. Are precision and certainty pretended without a need for the simulation? What exactly implies this set of expressions if we b'allslate it back ID the language and manner of thinking of a software ~ i«g It is necessary to fulfil both demands to avoid a Gordian knot of assumptions and suppositions that is impossible to validate. Therefore we decided to represent each hypothesis at three levels of fonnalization. 1be most infonnal level is a simple citatio~very hypothesis is stored in its original wording. The citation is indispensable for future validation, as the representations at more formal levels need a baseline to which they can be compared. This is the only way to avoid an inadvertent change in meaning. Of course, the reference f~ the citation has to be stored, too--this is not only a question of scientific honesty. but also facilitates later checking of the context of the hypothesis. Sometimes the traded aphorisms-called hypotheses--can be fully understood on1y in their JrOper conlcat! 1be intennediate level uses a formatted representation. The stalement is split in its main components in order to remove any grammatical wrapping. The aspects represented in this format are shown in figure 4. its use is illustrated in figure S. 612

6 attribul_ ~ transformation used ",10 Fig. 4 A.Knowlodgo B.K"- FIll. 5 triggering condition attribut_ modwiod Formatted repr... ntatlon of hypoth B.Know1edge asyrnplotlcal~ approaches A.KnowIedge A talks to B and A.KnowIedge,. B.KnowIedge B.Knowledge FOl"matted r.re... tatlon of ttm, hypol_lo:.h A B ond 11.'0 knowledg'.xc... B'., then B'. knowledge will ooymptollcauy opproach 11.'0. Wherever possible, we identify objects as well as their aaributes that are considered in the statemcnl Apart from these we coucct Ibose objocu and aaribu1es which are in fluenced by the interrdalionship swed. A trigge-rillg COli' ditioll dctc:rmines wbicb circumstances must exist ror the hypothesis 10 ""f1l'c", i. e.. ror which situalion it fits. Such cirtumsladces include the project slalc, certain events. a specified point of time. or li'iy combination of these. The interrelation of the objects involved is described as a transformolioll nik (e. g. linear or exponential correlabon, or just a qualitative description). It is important at this point not 10 introduce one's own assumptions, panwneter ratings or anempts at precision, which are not fully ccr vered by the hypothesis. The formallevd mcjudes deiailing!be effect of the hypothesis in full detail, establishing parameter values. and resolving all inconsisrcncies dw may have been discovered at the inlelmcdia1e level. This implies decisions on all aspects that camot be taken directly from the hypothesis-and to document them! Finally the hypolbes.is is represenlcd by one or more productions of an Aunl>ulod Gnoph G... (AGG). The SIaIC of a simula1ed project is rqwesentcd as an IP'IPL... explained Ut ehapccr 2.1, tlus graph c:m5isu of objects (nodes) and 1heir.. I""-hips (odaes) Hypodleses ellons<!be project swc and thus!be graph. Starting situation and resulting silullion of a hypothesis are partial griilits of!be project... graph. In AGas!be corresponding aransition is rqjf'c9ciilcd direcdy as a gnph production. The following paragraphs present the basic concepts behind AGGs: a more detailed discussion is given Ut [4) and [6). Attributed Graph Grammars are a generalization of Chomsky grammars. The latter deal with sequences of symbols, 10 whieh the following opcnbons.. '!'Plied: I Identify a part of!be sequco<e of symbols that maidies!be left,;de of!be grarnn.-- procb:lion. 1 Substitute the subsequence of symbols identified in 1 with!be right side of!be produetion. J In attributed grammars, attributes of all symbols contained Ut!be produetion (both leil and right side) may be modified. Graph Grammars deal with graphs consisting of nodes and edges instead or sequences of symbols, 10 which anal0- gous operaiions apply: I Identify a part of!be gntilii that matches!be left,;de of the graph grammar produetion (i. e., fo< whieh!hero is an isomorphic mapping to the left side of the ~ cb:1ion). 1 Substitute the partial graph identified in 1 with the right side of the production (i. e. cut out that partial graph and insert!be graph on!be right,;de of!be pr0- duction in ils place). J In an AGG. attributes of all nodes and edges contained in the producoon (right side only!) may be modiflcd. Nocc Ihat. in SIep I, for AGGs auribulcs of nodes or edges may also be used in the identiftcation of a matching partial graph (i. e. the xarch is not restricted to struc:twaj tip<cls of!be graph). Hypotheses.. formally.. proseolod b,- gntilii ~ produetions. The left side of a produetion-the preeoodilion of a hypothesis-shows the situation that C8U9CS the hypothesis 10 be applied, i. e. the project state trimcring the hypolhesis and the objects and relationships to be identiflcd. Many bypotheses will not affect the structure (stq> 2), whereas _ all of them will ehlnge object Ittributes. If DO substitution of partial graphs is necessary, step 2 is omiued; however. there are cues which require changes to the graph. c. g., ir communication relationships have 10 be eslablished or removed. Two examples illustriic the diffcrenc:e. Figure 6 shows the changing or communication relationships. The Slafting situation is a meeting of three staff members, onc of whom '1w a headache". _p The production applied 10 this situation, however, does not state anything about mc:etings, just about. the relationship " A and B are talking 10 c:och ochtr". This.. will be disrupted, if A has _lie. The ruult of _ apptiea<ions of dus same pr0- duction leads 10 a situation. in which the person with a 613

7 Starting situation Graph Grammar Production er A.Health _ "Headache- The project staff members X. Y and Z are in a meeting; Z is taking notes. V has a headache. Any person A having a headache and at the same time talking 10 a person e, will stop the conversation. Y has left the meeting. FIQ. 6 Changing (communication) relationships using Attributed Graph Grammars. Starting ahuatlon Graph Grammar Production Resulting situation A.Knowledge :> B. Knowledge a.knowledge' _ B.Knowledge + k'.o.t'(1 - The project staff members X, Y and Z are in a me9ling; Z is taking notes. X and Y have 80 % of Z's understanding of the prothem. If A and B are talking 10 each other, and A's knowledge exceeds 8'5, then 8's knowledge will asymptotically approach A's. Same communication struc1ure as before, but X and Y now have (say) (k... 8's learning parameter; 83% of Z's simulated time between two evaluations 01 the graph grammar) understanding of the problem. Fig. 7 Changing object attributes using Attributed Graph Grammars. headache is no longer in a communication relationship with the othc:n---to be interpreted as "left the meeting". The other eumple (figure 7) shows the mere changing of Object attributes. The hypothesis of asymptotically approaching knowledges, which has already been shown in figure 5, is represented here as a production of an AGG. It applies to a similar situation as in the preceding example (this time there is no headache involved), The result is an increase of knowledge that depends on the duration of the meeting (more precisely, on the simulated time that has passed since the last evaluation of the graph grammar) and the individualleaming capability (which is assumed equal for person X and Y in this example). Apart from the situation itself, events and the simulated time may have an impact on the applicability of a hypothesis/production (i.e., may be part of the triggering condition of a hypothesis). Attributed Graph Grammars provide an easy way of representing hypotheses fonnally. but nevertheless in an inluitive way. 'They allow 10 do this in tenns of the applica tion domain-an immediate graphical representation of software project situatiom. 614

8 The formally defmed semantics of AGGs [4] pennit an automatic genentioo of production rules for a ru1e-based inference tool &om graph grammar productims. e.' to have gjap/ll!jliiiu!iir prowaions inl<r]ftlod righl away. Wc sce!his mdhod or SIepwisc rormalization of hypotheses as a promising way to a more precise and comprehensive notion of the presently vague and not inlcltelatod suppositions of sortw.e engineering. 4 Present state and future development 4.1 Related work Simulating software projects is not a new idea. COCOMO [2] shows how development effort and development time correlate with program size and other influencing parameters. The COCOMO model can (and must) be calibrated by setting Ihese influencing parameters. the so~alled effort multipliers. We adopted this idea fe.' SESAM. McKeeman [5] reports a tutoring program for the lraining or softwlle dcvelopcn. Using the program. developers learn bow to conduct a review. This program has the nature of a game, much like SESAM. Abdel Hamid [1] cksaibes simulalion model for the software development process tha1 is based on Sys&em Dynamics. As with SESAM, this model aijows conclusions about software projects. However. all of Ihese approaches are restricted to certain aspects of software development, whereas SESAM is based on a comprehensive approach. Dcpcncfu1g on the hypotheses and od...- elements used by Ihe model builder diffc:rcnt aspects may be investigalt.d. 4.2 Present state of SESAM So far two prototypes of SESAM have been developed. 'The rust one was based on COCOMO and turned out not u> be exlalsibk:. The sc:cond prou>type already implcmenls most of the concepts presented in this paper. The examples for the user interface given in chapter I w~ ~ using this prototype. At the same time, a collection of hypotheses from available softw.e engineering lilcnwre was initiait.d. resulting in a list of 242 hypotheses. We are currently working on an implementation. of Ihe simulalor kernel for SESAM, to be completed gradually 10 a fudy operational system. The implementation environment is Smalltalk-80 on UNIX wortswions. 4.3 What remains to be done? The second protoc.ype we have available now is used to illusaracc and validate our concepts. M.. y aspects are not yet consmseted in this prototype. Following is a list of lopics we will address next. ordered chronok>gical1y: The collection or hypotheses must be sepanued from the SESAM simulator. To this end. we have 10 implement a procedure to conven hypotheses from natural language to productions of an Attributed Graph Gnunmar. We need la develop a model for the software development process, implement it using SESAM and validate it. This model determines the actions available to a player. Furthermore we will identify shortcomings of SESAM while developing the process model, and we wid be able 10 specify the necessary improvements and ej.1ensions. At the cnd or a SESAM game. the project IUstory musl be ra1cd and the player must be given a helpful foundation of the rating. During the game. the player will be able 10 access a software engineering data base giving descriptions of methods and t<ehniqucs for software engineering. He or she shall have the chance to learn about possible alternatives belcr making a decision. 5 Bibliography [11 Abdel Hamid. T.K., "lnvesti,ating the Cosl/Schedule Tru.{)ff in Software Development." IEEE Softwtu~, vo!. 7. no. I, pp. 97 IOS, January (21 Boehm, B.W., Soflwar~ ElIgillurillg Ecollomics, Englewood Cliffs, New Jeney: Prentice Hall (3) Brooks, F. p" The Mythical Mall MOllt", Retd.inglMu. : Addison Wesley [4] Goaler, H. GrGpllgrtll1lmQJiUlI Us ur SoftwQT~t~clutik.. Balin: Sprin,er [5] McKeeman. W.M.. ''Graduation Talk at Wmg Institute." IEEE Computer. vol. 22, no. 5. pp May [6] Nagl, M. GrGp" - Grammtltiu_TJs~oru. ImplefMlI. twilit,. A1I~Ol, BraunJChweia: Viewe, [7] Sommerville., I. Software ElI,iltUrm,. Wokinlham: AddiJon-Wesley, 3" Edition, '15

HOW TO SUCCESSFULLY USE SOFTWARE PROJECT SIMULATION FOR EDUCATING SOFTWARE PROJECT MANAGERS Patricia Mandl-Striegnitz 1 Abstract A crucial factor for the success or failure of software development projects

RULE BASED EXPERT SYSTEM FOR SELECTING SOFTWARE DEVELOPMENT METHODOLOGY M. AYMAN AL AHMAR Asstt. Prof. and Deputy Dean, College of Engineering and Information Technology, Fujairah Campus, Ajman University

Science & Engineering Practices in Next Generation Science Standards Asking Questions and Defining Problems: A practice of science is to ask and refine questions that lead to descriptions and explanations

Analyze and Design of Information Systems Using OODPM for Small Scale Businesses Pavel Petkun Offer Drori The Hebrew University of Jerusalem E-mail: pashka, offerd {@cs.huji.ac.il} Abstract In the modern

- 1-8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION 8.1 Introduction 8.1.1 Summary introduction The first part of this section gives a brief overview of some of the different uses of expert systems

1 11.1 Definitions and Motivation Lot of research and papers in this emerging field: Visual Analytics: Scope and Challenges of Keim et al. Illuminating the path of Thomas and Cook 2 11.1 Definitions and

DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology bruckner@ifs.tuwien.ac.at Beate List Vienna University of Technology list@ifs.tuwien.ac.at

Do you know? "7 Practices" for a Reliable Requirements Management by Software Process Engineering Inc. translated by Sparx Systems Japan Co., Ltd. In this white paper, we focus on the "Requirements Management,"

8. COMPUTER TOOLS FOR PROJECT MANAGEMENT The project management is a complex activity that requires among others: Information intercourse referred to the project, information that is in big amounts more

Week 7 - Game Theory and Industrial Organisation The Cournot and Bertrand models are the two basic templates for models of oligopoly; industry structures with a small number of firms. There are a number

Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further

Overview of Project Scheduling Following the definition of project activities, the activities are associated with time to create a project schedule. The project schedule provides a graphical representation

Department of Geography GEO 271 Everything is related to everything else, but near things are more related than distant things. - Waldo Tobler s First Law of Geography 1.1 Research in Geography [Meaning

Module 2 Software Life Cycle Model Lesson 4 Prototyping and Spiral Life Cycle Models Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what a prototype is.

in Small and Medium-Sized Enterprises Natalia Futekova * Vladimir Monov ** Summary: The paper is concerned with problems arising in the implementation process of ERP systems including the risks of severe

Analysing the Behaviour of Students in Learning Management Systems with Respect to Learning Styles Sabine Graf and Kinshuk 1 Vienna University of Technology, Women's Postgraduate College for Internet Technologies,

6.42/8.62J Mathematics for Computer Science Srini Devadas and Eric Lehman May 3, 25 Lecture otes Expected Value I The expectation or expected value of a random variable is a single number that tells you

WRITING A RESEARCH PAPER FOR A GRADUATE SEMINAR IN POLITICAL SCIENCE Ashley Leeds Rice University Here are some basic tips to help you in writing your research paper. The guide is divided into six sections

Identifying Learning Styles in Learning Management Systems by Using Indications from Students Behaviour Sabine Graf * Kinshuk Tzu-Chien Liu Athabasca University School of Computing and Information Systems,

J. T. M. Miller, Department of Philosophy, University of Durham 1 Methodological Issues for Interdisciplinary Research Much of the apparent difficulty of interdisciplinary research stems from the nature

ISBN 978-952-5726-06-0 Proceedings of the 2009 International Workshop on Information Security and Application (IWISA 2009) Qingdao, China, November 21-22, 2009 Tracking Software Development Progress with

In this chapter, we present the theory of consumer preferences on risky outcomes. The theory is then applied to study the demand for insurance. Consider the following story. John wants to mail a package

A New Marketing Channel Management Strategy Based on Frequent Subtree Mining Daoping Wang Peng Gao School of Economics and Management University of Science and Technology Beijing ABSTRACT For most manufacturers,

February/2014 Process Intelligence: An Exciting New Frontier for Business Intelligence Claudia Imhoff, Ph.D. Sponsored by Altosoft, A Kofax Company Table of Contents Introduction... 1 Use Cases... 2 Business

The University of Adelaide Business School MBA Projects Introduction There are TWO types of project which may be undertaken by an individual student OR a team of up to 5 students. This outline presents

The Math Suppose there are n experiments, and the probability that someone gets the right answer on any given experiment is p. So in the first example above, n = 5 and p = 0.2. Let X be the number of correct

PROJECT RISK MANAGEMENT DEFINITION OF A RISK OR RISK EVENT: A discrete occurrence that may affect the project for good or bad. DEFINITION OF A PROBLEM OR UNCERTAINTY: An uncommon state of nature, characterized

Story Card Based Agile Software Development Chetankumar Patel, and Muthu Ramachandran Leeds Metropolitan University, UK c.patel@leedsmet.ac.uk Abstract The use of story cards for user stories in many Extreme

UNIVERSITY OF BIRMINGHAM BIRMINGHAM BUSINESS SCHOOL GUIDELINES FOR PREPARING A PhD RESEARCH PROPOSAL PhD degrees are by research only, with candidates completing their work under the personal supervision

Considering Learning Styles in Learning Management Systems: Investigating the Behavior of Students in an Online Course* Sabine Graf Vienna University of Technology Women's Postgraduate College for Internet

CHAPTER 3 THE LOANABLE FUNDS MODEL The next model in our series is called the Loanable Funds Model. This is a model of interest rate determination. It allows us to explore the causes of rising and falling

1-05-05 INFORMATION MANAGEMENT: STRATEGY, SYSTEMS, AND TECHNOLOGIES THE RIGHT LEVEL OF IT EXPENSE John P. Murray INSIDE Industry Averages; IT Performance and Funding; Approaches to IT Budgeting; Effect

A comparison of the OpenGIS TM Abstract Specification with the CIDOC CRM 3.2 Draft Martin Doerr ICS-FORTH, Heraklion, Crete Oct 4, 2001 1 Introduction This Mapping has the purpose to identify, if the OpenGIS

Introduction to Software Project Management CITS3220 Software Requirements & Project Management "A project gets a year late one day at a time." "Anything that can be changed will be changed until there

CRISP-DM, which stands for Cross-Industry Standard Process for Data Mining, is an industry-proven way to guide your data mining efforts. As a methodology, it includes descriptions of the typical phases

Use the Academic Word List vocabulary to make tips on Academic Writing Use some of the words below to give advice on good academic writing. abstract accompany accurate/ accuracy/ inaccurate/ inaccuracy

A Software Development Simulation Model of a Spiral Process ABSTRACT: There is a need for simulation models of software development processes other than the waterfall because processes such as spiral development

Chapter 8 Inflation This chapter examines the causes and consequences of inflation. Sections 8.1 and 8.2 relate inflation to money supply and demand. Although the presentation differs somewhat from that

Science and Scientific Reasoning Critical Thinking Some Common Myths About Science Science: What it is and what it is not Science and Technology Science is not the same as technology The goal of science

For Operations Management and Management Information Systems Department School Year First Year First Year First Year Second year Second year Second year Third year Third year Third year Third year Third

GUIDELINES FOR FORMAT AND CONTENT OF THE DISSERTATION CHAPTER 1 INTRODUCTION TO THE STUDY Background This section should be approximately 2-5 pages of background narrative, citing literature as appropriate