SIMSE: AN INTERACTIVE SIMULATION GAME FOR SOFTWARE ENGINEERING EDUCATION
|
|
|
- Cathleen Cole
- 9 years ago
- Views:
Transcription
1 SIMSE: AN INTERACTIVE SIMULATION GAME FOR SOFTWARE ENGINEERING EDUCATION Emily Oh Navarro and André van der Hoek School of Information and Computer Science University of California Irvine Irvine, CA USA Abstract The typical software engineering education lacks a practical experience of the process of software engineering students are presented with relevant process theory in lectures, but have limited opportunity to put these concepts into practice in an associated class project. SimSE is an educational, interactive, fully graphical computer game that simulates software engineering processes, and is designed specifically to train students in situations that require an understanding and handling of software process issues. In this paper we describe SimSE, including its educational goals, its design, and its implementation. Key Words Software engineering education, educational games, software engineering simulation, simulation games 1. Introduction While the software industry has had remarkable success in developing software that is of an increasing scale and complexity, it has also experienced a steady and significant stream of failures. Most of us are familiar with public disasters such as failed Mars landings, rockets carrying satellites needing to be destroyed shortly after takeoff, or unavailable telephone networks, but many more private problems occur that can be equally disastrous or, at least, problematic and annoying to those involved. Examining one of the prime forums documenting these failures, the Risks Forum [1], provides an illuminating insight: a majority of documented failures can be attributed to software engineering process breakdowns. Such breakdowns range from individuals not following a prescribed process (e.g., not performing all required tests, not informing a colleague of a changed module interface), to group coordination problems (e.g., not using a configuration management system to coordinate mutual tasks, not being able to deliver a subsystem in time), to organizations making strategic mistakes (e.g., choosing to follow the waterfall process model where a spiral approach would be more appropriate, not accounting for the complexity of the software in a budget estimate). As a result, it is estimated that billions of dollars are wasted each year due to ineffective processes and subsequent faulty software being delivered [2]. We believe the root cause of this problem lies in education: current software engineering courses typically pay little to no attention to students being able to practice issues surrounding the software engineering process. The software engineering industry has long recognized the problem of students having insufficient process experience and has repeatedly requested that academia address this problem [3-6]. The underlying issue is time: any class project must be completed within the length of its course. While relevant process theory can be and typically is presented in lectures, the opportunities for students to practically and comprehensively experience the presented concepts are limited. Most course projects simply guide students through a linear execution of the waterfall model (requirements, design, implementation, testing) in which students are left with little discretion. Students cannot decide which overall life cycle model to follow, whether or not to first build a rapid prototype, or even when to set the milestones for their deliverables these and other decisions are usually made by the instructor. The focus strongly remains on creating project deliverables such as requirements documents, design documents, source code, and test cases, and little room is left to illustrate or experience the principles, pitfalls, and dimensions of the software process. The overall result is that students are unable to build a practical intuition and body of knowledge about the software process, and are ill-equipped for choosing particular software processes, for recognizing potentially troublesome situations, and for identifying approaches with which to address such troublesome situations. To better prepare students for their future software development jobs and consequent exposures to the software process, we are developing a new approach to teaching and practicing the software process that is complementary to existing software engineering courses. SimSE is a computer-based environment that allows the creation and simulation of software engineering processes. It allows students to virtually participate in a realistic software en-
2 gineering process that involves real-world components not present in typical class projects, such as teams of people, large scale projects, critical decision-making, personnel issues, multiple stakeholders, budgets, planning, and random, unexpected events. In so doing, it provides students with a platform in which they can experience many different aspects of the software process in a practical manner without the overarching emphasis on creating deliverables. SimSE directly addresses the shortcomings of existing classroom approaches by filling the gap between the process knowledge and theory taught in lectures and the small percentage of this knowledge that students actually put into practice in class projects. The remainder of this paper is organized as follows: Section 2 outlines the objectives of SimSE as an educational simulation. Section 3 describes the architecture and various components of SimSE in detail. In Section 4 we provide a brief overview of related work, and we end in Section 5 with our conclusions and future directions. 2. Objectives As an educational simulation, SimSE must make tradeoffs among faithfulness to reality, level of detail, usability, teaching objectives, and fun factors. As an example, educational purpose and fun factors may call for visual feedback to be humorous and over the top, such that the causal effects of decisions can be easily recognized by students. However, this would contradict the issue of faithfulness to reality. Clearly a delicate balance has to be struck among all design parameters. To guide us in creating this balance, we formulated a set of overarching guidelines for the design of SimSE, based on both the unique nature of software engineering and lessons learned from previous studies about critical success factors for educational simulations: SimSE should illustrate both specific lessons and overarching practices of the software process. Specific lessons include, among others, Brooks Law (adding more employees to a project that is already late will make the project even later, due to the exponentially increased communication overhead [7]) and the fact that the use of a configuration management system normally improves the development process. Overarching practices concern the choice of different life cycle models, the tradeoffs involved in many decisions, and the potential for drastic consequences in case of failure. SimSE should support the instructor in specifying the lessons he or she wishes to teach. Instructors using SimSE may belong to different schools of thought regarding best software engineering practices, and may have different teaching objectives. Furthermore, real-world software processes vary with different application domains, organizations, and cultures. SimSE should provide a student with clear feedback concerning their decisions. Consider, for example, a student who hires a plethora of employees in order to rush code development. Later, the student faces a lengthy integration phase with many bugs being discovered. The simulation environment must explain why this situation occurs (e.g., more employees leads to more parallel work, which leads to more integration problems [8]). SimSE should be easy to learn, enjoyable, and comparatively quick. Without compromising the level of complexity that is needed to make each simulation unique, a single simulation must neither be too difficult nor too long in order to maintain the interest of students and, thus, its value as an educational tool. The enjoyability of the game is a large part of what will make the lessons learned more memorable [9]. In summary, SimSE must be enjoyable and realistic, yet rooted in both conceptual and empirical principles of software engineering. The environment must provide students with a complimentary learning opportunity that reinforces lessons taught in lectures and foreshadows and prepares students for their actual experiences in class projects and future careers. 3. Approach SimSE is a single-player game in which the player takes on the role of project manager of a team of developers. The player must manage these employees to complete a particular (aspect of a) software engineering project. Management activities include, among others, hiring and firing, assigning tasks, monitoring progress, and purchasing tools. In general, following good software engineering practices will lead to positive results while blithely ignoring these practices will lead to miserable failure in completing the project. 3.1 Overall Architecture Figure 1 illustrates the architecture of SimSE. Models are created using a model builder that allows the specification of employees, artifacts, projects, tools, and customers, as well as activities that these entities can participate in, and rules according to which they behave. Based upon a particular choice of model, a generator interprets the model Model Builder Standard Part Variable Part Invokes Creates Figure 1: SimSE Architecture Models State Mgmt. Explanatory Tool Reads Generator Generates Rule Execution User Interface Clock Simulation Environment
3 and automatically generates code for a state management component, a rule execution component, and the graphical user interface, which are inserted into the generic simulation environment. A student can then use this custom-generated simulation environment to practice the situations captured by the chosen model. Each of the major components in the architecture will be further explained in the following subsections. 3.2 Model Builder and Generator To facilitate the rapid and relatively easy specification of customized simulation models, a fundamental part of SimSE is its model builder. It is expected that an instructor will use this tool to create models (or alter existing models as necessary) that embody the lessons and processes that they wish to teach to their students. Then, a customized simulation that the students can play will be generated by the Generator component. The model builder consists of five parts that correspond to the five parts of a SimSE model: The object builder, the start state builder, the action builder, the rule builder, and the graphics builder. Object builder. The object builder is used to perform the first step in building a model: defining the object types to be used in the model. Each major entity participating in the simulation will be an instantiation of an object type. Every object type defined must descend from one of five meta-types: Employee, Artifact, Tool, Project, or Customer. An object type consists of a name and a set of typed attributes. For example, a Programmer Employee type would be an instance of the Employee meta-type, have the name Programmer, and may have the following set of attributes: Name (String), Productivity (Double), Experience (Integer), and Hired (Boolean). The user interface for the object builder is shown in Figure 2. For the sake of space, the interfaces for the other builders are not shown, but they are similar in appearance to the object builder in that they all support the modeler in building a model using buttons, drop-down lists, menus, and dialog boxes no programming is required. Start state builder. Once the object types for a simulation have been defined, the start state builder can be used to specify the start state for that simulation. The start state refers to the set of objects that are present when the simulation begins. Each one of these objects must be an instantiation of one of the object types defined in the object builder. The start state builder allows the user to create and add an object to the start state by first choosing its object type, and then assigning starting values for all of its attributes. Action builder. The next part of a SimSE model is the set of actions, or activities in which the objects in the simulation can participate. For example, a Code artifact, with one or more Programmer Employees and one or more Compiler Tools could participate in a Coding action, in which the programmers build a piece of code using a compiler. As another example, an Employee could participate in a break action, referring to the activity of taking a break, during which he or she rests and does not work. The action builder is the tool that supports defining these actions. It allows the modeler to define actions by specifying the following information for each action: a Figure 2: Object Builder User Interface.
4 name; one or more participants roles in the action that can be filled by one or more objects, an action trigger, and an action destroyer. An action trigger refers to the set of conditions that cause the action to begin to occur in the simulation. An action destroyer is similar to an action trigger, but has the opposite effect: whereas a trigger starts an action, a destroyer stops an action. Rule builder. After all of the action types have been defined, the next task in building a SimSE model is to attach rules to each action type. This is the function of the rule builder. A rule defines an effect of an action how the simulation is affected when that action is active. We distinguish three types of rules in a SimSE model: create objects rules, destroy objects rules, and effect rules. As its name indicates, a create objects rule causes new objects to be created in the game. Conversely, the firing of a destroy objects rule results in the destruction of existing objects. An effect rule specifies the complex effects of an action on its participants states, including the values of their attributes and their participation in other actions. For instance, an effect rule attached to the Coding action might cause the size of the code to increase by the additive productivity levels of all of the programmers currently working on it. As another example, a Break action might have an effect rule attached to it that: a) increases the energy of an employee; and b) deactivates the employee from all other actions he or she is currently participating in for the duration of the Break action. Graphics builder. The final activity in building a SimSE model is specifying the graphics for the simulation. Through the graphics builder, the user can assign an image to each object in the start state, as well as each object that is created by a create objects rule. This image will be used to represent the object in the graphical user interface of the simulation. In addition, the graphics builder includes a map editor that can be used to define the layout of the office starting locations for all of the objects in the game. 3.3 Simulation Environment The simulation environment is responsible for executing a simulation and creating the user experiences that demonstrate the inherent complexity of the software process. The simulation loop itself operates in the following manner (refer to Figure 1): The clock drives the simulation by emitting ticks at equal time intervals. At every clock tick, the rule execution component checks which actions are currently executing by querying the state management component. It then executes the rules associated with these actions, and in turn propagates the effects of these rules on the entities and actions in the state management Figure 3: SimSE Graphical User Interface.
5 component. After this update is completed, the clock then signals the user interface to update the display. The user interface then queries the state management component and updates itself to reflect the current state. One of SimSE s most fundamental features is its fully graphical user interface. Learning through visual clues has proven to be far more effective than simply studying textual output [11, 12]. Consider a simulation that wants to teach Brooks law [7], which states that adding personnel to a project that is late makes it even later than completing it with the original personnel. A text-based simulation environment could only show the effect of this law in numbers that show the project will indeed be later [13]. However, it remains unclear as to why the project is later. This is where SimSE will leverage its visual front-end by graphically illustrating that the number of meetings increases and personnel assemble in meeting rooms at a greater frequency. As a result, independent learning is fostered: a student receives direct feedback on their decisions and can draw their own conclusions about the cause-and-effect relationships present in the process. A preliminary version of the graphical user interface of SimSE is shown in Figure 3. The center part displays a virtual office in which the software engineering process is taking place, including typical office surroundings (e.g., desks, chairs, computers, meeting rooms) and employees. Employees communicate with the manager (player) through pop-up bubbles that appear over their heads. The player can interact with the employees through rightclick menus (not shown) on each employee that display a list of available actions (e.g., do coding, give a raise, fire, ask what they are doing, etc.). Detailed information about each employee (the current values of their attributes) can be obtained by clicking on that employee s image along the bottom edge of the interface. Graphical representations of projects and customers, artifacts (e.g., requirements document, code), and tools are displayed along the top, left, and right edges, respectively. Like the employees, detailed information about each of these entities can be displayed by clicking on its image. The user drives the simulation through the controls of the clock, shown in the lower right corner. They can either step the clock forward a specified number of clock ticks, or step until the next event, i.e., the next time an employee wants to say something. 4. Related Work This research draws from three main areas of related work: simulation in education, software engineering education, and software process simulation. The following subsections describe the relationships between SimSE and these existing bodies of work. 4.1 Simulation in education Simulation is a powerful educational tool that is widely used in a number of different domains such as flight simulation [14], military training [15], and hardware design [16]. The success of simulation in education can be attributed to its unique qualities that set it apart from other pedagogical approaches: First, simulation allows students to gain valuable hands-on experience of the process being simulated without any of the potential monetary costs or harmful effects that can result from actual real-world experience. As a result, students are free to repeat experiences and experiment with different approaches, their only concern being the simulated consequences (rather than real life ones) in case of failure. Second, the relative ease with which simulations are configurable allows the educator to introduce a wide variety of unknown situations for the student to experience. Finally, because simulations operate at a faster pace than real life, students can practice the process many more times than would be feasible in the real world. 4.2 Software engineering education Software engineering educators have invented new and innovative ways of teaching the subject in recent years. Some of these approaches have included software process simulation designed specifically for education [13, 17, 18]. To date, the most advanced of these is SESAM, a software engineering simulation environment in which students manage a team of virtual employees to complete a virtual project on schedule, within budget, and at or above the required level of quality. The student drives the simulation by typing in textual commands which can consist of hiring and firing employees, assigning them tasks, and asking them about their progress and the state of the project [13]. Although SimSE and SESAM share the purpose of teaching students the software engineering process in a game-based setting, SESAM, unlike SimSE, lacks a visually interesting graphical user interface, which is considered essential to any successful educational simulation [9]. Moreover, despite the fact that the SESAM language is highly flexible and expressive, the model building process is learning- and labor-intensive and requires writing code in a text editor. Despite these drawbacks, SESAM s models do provide a source of some well-documented software engineering rules of behavior that we plan to leverage in our SimSE models. 4.3 Software process simulation The area of software process simulation deals with creating models of software processes in order to analyze and predict certain properties and behaviors of these processes [19-21]. For example, process simulations have been created to predict the effects of different managerial decisions on the resulting project attributes, such as cycle time, cost, and quality [21]. Because SimSE also simulates a software engineering process, the work done in this area provides useful process models upon which we can base present and future versions of the game. However, since these models were created for the purpose of analysis and discovery rather than education, certain aspects and portions of them are not relevant to the pedagogical
6 goals of the game, and we are adjusting them accordingly as we incorporate them into our models. 5. Conclusions and Future Work We have presented SimSE, an interactive, graphical, customizable simulation game for software engineering education. SimSE attempts to address the lack of process education present in the typical software engineering course by providing students with a practical, high-level experience of a realistic software engineering process in an engaging manner. To date, the SimSE model builder and code generator have been completed, and development of the graphical user interface is nearing completion. In parallel, we are designing the explanatory tool and developing two initial simulation models: a high-level model in which an overall software engineering process is simulated and a number of general lessons about the process as a whole are taught, and a second, more detailed model that teaches the roles and regulations of the inspection process by making the student organize and perform a code inspection. In the near future, we plan to evaluate the teaching potential of SimSE by conducting experiments involving undergraduate computer science students at UC Irvine, refine and enhance SimSE based on these results, and continue to build different types of models to demonstrate various phenomena. 6. Acknowledgments We thank Ethan Lee, Calvin Lee, and Beverly Chan for their contributions to the implementation of SimSE. Effort partially funded by the National Science Foundation under grant numbers CCR and IIS The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies or endorsements, either expressed or implied, of the National Science Foundation. Effort also funded by the UC Irvine CORCLR program. References: 1. ACM Committee on Computers and Public Policy, RISKS-FORUM Digest, 2004: 2. Jones, C., Software assessments, benchmarks, and best practices (Boston, MA: Addison-Wesley, 2000). 3. Callahan, D. and B. Pedigo, Educating Experienced IT Professionals by Addressing Industry's Needs, IEEE Software, 19(5), 2002, p Conn, R., Developing Software Engineers at the C- 130J Software Factory, IEEE Software, 19(5), 2002, p McMillan, W.W. and S. Rajaprabhakaran, What Leading Practitioners Say Should Be Emphasized in Students' Software Engineering Projects, Proceedings of the Twelfth Conference on Software Engineering Education and Training, 1999, p Shaw, M., Software Engineering Education: A Roadmap, The Future of Software Engineering, 2000, p Brooks, F.P., The mythical man-month: essays on software engineering (Boston, MA: Addison-Wesley, 1995). 8. Perry, D.E., H.P. Siy, and L.G. Votta, Parallel Changes in Large-Scale Software Development: An Observational Case Study, ACM Transactions on Software Engineering and Methodology, 10(3), 2001, p Ferrari, M., R. Taylor, and K. VanLehn, Adapting Work Simulations for Schools, The Journal of Educational Computing Research, 21(1), 1999, p Beck, K., Extreme programming explained: embrace change (Reading, MA: Addison-Wesley, 2000). 11. Higbee, K.L., Recent Research on Visual Mnemonics: Historical Roots and Educational Fruits, Review of Educational Research, 49, 1979, p Shneiderman, B., Designing the user interface: strategies for effective human-computer interaction (Boston, MA: Addison-Wesley, 1992). 13. Drappa, A. and J. Ludewig, Simulation in Software Engineering Training, Proceedings of the 22nd International Conference on Software Engineering, 2000, p Rolfe, J.M., Flight simulation (cambridge aerospace series) (Cambridge, UK: Cambridge University Press, 1988). 15. Lindheim, R. and W. Swartout, Forging a New Simulation Technology at the ICT, IEEE Computer, 34(1), 2001, p Skrien, D., CPU Sim 3.1: A Tool for Simulating Computer Architectures for Computer Organization Classes, ACM Journal of Educational Resources in Computing, 1(4), 2001, p Sharp, H. and P. Hall, An Interactive Multimedia Software House Simulation for Postgraduate Software Engineers, Proceedings of the 22nd International Conference on Software Engineering, 2000, p Collofello, J.S., University/Industry Collaboration in Developing a Simulation Based Software Project Management Training Course, Proceedings of the Thirteenth Conference on Software Engineering Education and Training, 2000, p Abdel-Hamid, T. and S.E. Madnick, Software project dynamics: an integrated approach (Upper Saddle River, NJ: Prentice-Hall, Inc., 1991). 20. Cass, A.G., et al., Little-JIL/Juliette: A Process Definition Language and Interpreter, Proceedings of the 22nd International Conference on Software Engineering, Limerick, Ireland, 2000, p Rus, I., J.S. Collofello, and P. Lakey, Software Process Simulation for Reliability Management, The Journal of Systems and Software, 46(3), 1999, p
Economic Cost Model for Software Engineering Simulation
Economic Cost Model for Software Engineering Simulation E.Geetha Rani #1, K.Swarupa Rani *2, D.Anusha #3, Dr.M.V.L.N.Raja Rao *4 #1, #4 Infornation Technology, Gudlavalleru Engineering College, Gudlavalleru,
Improving Software Project Management Skills Using a Software Project Simulator
Improving Software Project Management Skills Using a Software Project Simulator Derek Merrill and James S. Collofello Department of Computer Science and Engineering Arizona State University Tempe, AZ 85287-5406
Using Simulation to teach project management skills. Dr. Alain April, ÉTS Montréal [email protected]
Using Simulation to teach project management skills Dr. Alain April, ÉTS Montréal [email protected] Agenda of the workshop 1 The software project management theory overview (40 minutes) 2 Why use SDLC
(Refer Slide Time: 01:52)
Software Engineering Prof. N. L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture - 2 Introduction to Software Engineering Challenges, Process Models etc (Part 2) This
Lifecycle Models: Waterfall / Spiral / EVO
Lifecycle Models: Waterfall / Spiral / EVO Dror Feitelson Basic Seminar on Software Engineering Hebrew University 2011 Lifecycle The sequence of actions that must be performed in order to build a software
Interoperable Learning Leveraging Building Information Modeling (BIM) in Construction Management and Structural Engineering Education
Interoperable Learning Leveraging Building Information Modeling (BIM) in Construction Management and Structural Engineering Education Eric L. Richards and Caroline M. Clevenger, PhD Colorado State University
Introduction to Software Engineering
CS1Ah Lecture Note 7 Introduction to Software Engineering In this note we provide an overview of Software Engineering. The presentation in this lecture is intended to map out much of what we will study
A Software Development Simulation Model of a Spiral Process
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
NASCIO EA Development Tool-Kit Solution Architecture. Version 3.0
NASCIO EA Development Tool-Kit Solution Architecture Version 3.0 October 2004 TABLE OF CONTENTS SOLUTION ARCHITECTURE...1 Introduction...1 Benefits...3 Link to Implementation Planning...4 Definitions...5
ProDec: a Serious Game for Software Project Management Training
ProDec: a Serious Game for Software Project Management Training Alejandro Calderón, Mercedes Ruiz Department of Computer Science and Engineering University of Cádiz Cádiz, SPAIN e-mail: [email protected],
A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Overview.
A Comparison of System Dynamics (SD) and Discrete Event Simulation (DES) Al Sweetser Andersen Consultng 1600 K Street, N.W., Washington, DC 20006-2873 (202) 862-8080 (voice), (202) 785-4689 (fax) [email protected]
Feasibility of a Software Process Modeling Library based on MATLAB / Simulink
Feasibility of a Software Process Modeling Library based on MATLAB / Simulink T. Birkhoelzer University of Applied Sciences Konstanz, Braunegger Str. 55, 7846 Konstanz, Germany, [email protected]
Simulating Software Projects An Approach for Teaching Project Management
Simulating Software Projects An Approach for Teaching Project Management P. Mandl-Striegnitz 1, A. Drappa 1, H. Lichter 2 1 University of Stuttgart, Stuttgart, Germany 2 Aachen University of Technology,
Application Performance Testing Basics
Application Performance Testing Basics ABSTRACT Todays the web is playing a critical role in all the business domains such as entertainment, finance, healthcare etc. It is much important to ensure hassle-free
Process Methodology. Wegmans Deli Kiosk. for. Version 1.0. Prepared by DELI-cious Developers. Rochester Institute of Technology
Process Methodology for Wegmans Deli Kiosk Version 1.0 Prepared by DELI-cious Developers Rochester Institute of Technology September 15, 2013 1 Table of Contents 1. Process... 3 1.1 Choice... 3 1.2 Description...
Software Engineering Reference Framework
Software Engineering Reference Framework Michel Chaudron, Jan Friso Groote, Kees van Hee, Kees Hemerik, Lou Somers, Tom Verhoeff. Department of Mathematics and Computer Science Eindhoven University of
Data Quality Assessment
Data Quality Assessment Leo L. Pipino, Yang W. Lee, and Richard Y. Wang How good is a company s data quality? Answering this question requires usable data quality metrics. Currently, most data quality
SignalDraw: GUI Tool For Generating Pulse Sequences
SignalDraw: GUI Tool For Generating Pulse Sequences Konstantin Berlin Department of Computer Science University of Maryland College Park, MD 20742 [email protected] December 9, 2005 Abstract Generating
WebSphere Business Monitor
WebSphere Business Monitor Debugger 2010 IBM Corporation This presentation provides an overview of the monitor model debugger in WebSphere Business Monitor. WBPM_Monitor_Debugger.ppt Page 1 of 23 Goals
Software Development Processes. Software Life-Cycle Models
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 4/3/98 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
A Framework for the Delivery of Personalized Adaptive Content
A Framework for the Delivery of Personalized Adaptive Content Colm Howlin CCKF Limited Dublin, Ireland [email protected] Danny Lynch CCKF Limited Dublin, Ireland [email protected] Abstract
The Software Process. The Unified Process (Cont.) The Unified Process (Cont.)
The Software Process Xiaojun Qi 1 The Unified Process Until recently, three of the most successful object-oriented methodologies were Booch smethod Jacobson s Objectory Rumbaugh s OMT (Object Modeling
SE464/CS446/ECE452 Software Life-Cycle and Process Models. Instructor: Krzysztof Czarnecki
SE464/CS446/ECE452 Software Life-Cycle and Process Models Instructor: Krzysztof Czarnecki 1 Some of these slides are based on: Lecture slides by Ian Summerville accompanying his classic textbook software
Software Development Processes. Software Life-Cycle Models. Process Models in Other Fields. CIS 422/522 Spring 1998 1
1 Software Development Processes Sequential, Prototype-based RAD, Phased, Risk-based Spiral (c) 1998 M Young CIS 422/522 1/10/99 1 Software Life-Cycle Models Breaking projects down into pieces for... Planning
Software Development with Agile Methods
Case Study Software Development with Agile Methods Introduction: Web application development is a much studied, heavily practiced activity. That is, capturing and validating user requirements, estimating
Foundations for Systems Development
Foundations for Systems Development ASSIGNMENT 1 Read this assignment introduction. Then, read Chapter 1, The Systems Development Environment, on pages 2 25 in your textbook. What Is Systems Analysis and
Riskware: A Game for Teaching Software Project Risk Management
Riskware: A Game for Teaching Software Project Risk Management Carlos Mario Zapata Jaramillo Universidad Nacional de Colombia [email protected] María Clara Gómez Álvarez Universidad de Medellín [email protected]
Screen Design : Navigation, Windows, Controls, Text,
Overview Introduction Fundamentals of GUIs - methods - Some examples Screen : Navigation, Windows, Controls, Text, Evaluating GUI Performance 1 Fundamentals of GUI What kind of application? - Simple or
Bringing Real-life Practice in Software Project Management Training Through a Simulation-based Serious Game
Bringing Real-life Practice in Software Project Management Training Through a Simulation-based Serious Game Alejandro Calderón and Mercedes Ruiz Department of Computer Science and Engineering, University
JOURNAL OF OBJECT TECHNOLOGY
JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software
Chapter 6. Iteration 0: Preparing for the First Iteration
Chapter 6. Iteration 0: Preparing for the First Iteration People only see what they are prepared to see. Ralph Waldo Emerson There are no secrets to success. It is the result of preparation, hard work,
Development models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
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
CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS
CMMI STANDARDS IN SOFTWARE DEVELOPING PROCESS 1 2 C. SenthilMurugan, Dr. S. Prakasam. PhD Scholar Asst., Professor 1,2 Dept of Computer Science & Application, SCSVMV University, Kanchipuram 1 Dept of MCA,
C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering
C. Wohlin and B. Regnell, "Achieving Industrial Relevance in Software Engineering Education", Proceedings Conference on Software Engineering Education & Training, pp. 16-25, New Orleans, Lousiana, USA,
Software Project Models
INTERNATIONAL JOURNAL OF TECHNOLOGY ENHANCEMENTS AND EMERGING ENGINEERING RESEARCH, VOL 1, ISSUE 4 135 Software Project Models Abhimanyu Chopra, Abhinav Prashar, Chandresh Saini [email protected],
L&D SOLUTIONS FOR BUSINESSES ACCELERATED LEARNING SYSTEMS LIMITED
L&D SOLUTIONS FOR BUSINESSES MISSION Mission Who we are Values What we do Our L&D Programmes Our Approach Partnerships Management Team Get in touch 01 02 02 03 05 09 11 12 14 The continuous development
Software Engineering from an Engineering Perspective: SWEBOK as a Study Object
Software Engineering from an Engineering Perspective: SWEBOK as a Study Object Alain Abran a,b, Kenza Meridji b, Javier Dolado a a Universidad del País Vasco/Euskal Herriko Unibertsitatea b Ecole de technologie
Bachelor of Science in Information Technology. Course Descriptions
Bachelor of Science in Information Technology Course Descriptions Year 1 Course Title: Calculus I Course Code: MATH 101 Pre- Requisite(s): This course introduces higher mathematics by examining the fundamental
Programming in Access VBA
PART I Programming in Access VBA In this part, you will learn all about how Visual Basic for Applications (VBA) works for Access 2010. A number of new VBA features have been incorporated into the 2010
How To Teach A Health Theory Course
Ellermann, Critical Thinking and Clinical Reasoning in the Health Sciences, Facione and Facione (eds.), California Academic Press. 1 Measuring Thinking Worldwide This document is a best practices essay
Franklin L. Burns School of Real Estate & Construction Management
University of Denver 1 Franklin L. Burns School of Real Estate & Construction Management Office: Daniels College of Business, Room 380 Mail Code: 2101 S. University Blvd. Denver, CO 80208 Phone: 303-871-3432
A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses
A Project Based Approach for Teaching System Analysis, Design, and Implementation Courses Nabil A. Yousif 1 and Masoud Naghedolfeizi 2 Abstract-In curricula of Computer Information Systems at Fort Valley
A system is a set of integrated components interacting with each other to serve a common purpose.
SYSTEM DEVELOPMENT AND THE WATERFALL MODEL What is a System? (Ch. 18) A system is a set of integrated components interacting with each other to serve a common purpose. A computer-based system is a system
A Comparison between Five Models of Software Engineering
International Journal of Research in Information Technology (IJRIT) www.ijrit.com ISSN 2001-5569 A Comparison between Five Models of Software Engineering Surbhi Gupta, Vikrant Dewan CSE, Dronacharya College
Analyzing lifelong learning student behavior in a progressive degree
Analyzing lifelong learning student behavior in a progressive degree Ana-Elena Guerrero-Roldán, Enric Mor, Julià Minguillón Universitat Oberta de Catalunya Barcelona, Spain {aguerreror, emor, jminguillona}@uoc.edu
The Role of the Software Architect
IBM Software Group The Role of the Software Architect Peter Eeles [email protected] 2004 IBM Corporation Agenda Architecture Architect Architecting Requirements Analysis and design Implementation
Rapid prototyping: an efficient way to collaboratively design and develop e-learning content.
Rapid prototyping: an efficient way to collaboratively design and develop e-learning content. Guy Boulet, MA Instructional designer Navy elearning center of Excellence Introduction Until recently, courseware
Peter Mileff PhD SOFTWARE ENGINEERING. The Basics of Software Engineering. University of Miskolc Department of Information Technology
Peter Mileff PhD SOFTWARE ENGINEERING The Basics of Software Engineering University of Miskolc Department of Information Technology Introduction Péter Mileff - Department of Information Engineering Room
one Introduction chapter OVERVIEW CHAPTER
one Introduction CHAPTER chapter OVERVIEW 1.1 Introduction to Decision Support Systems 1.2 Defining a Decision Support System 1.3 Decision Support Systems Applications 1.4 Textbook Overview 1.5 Summary
Stock Market. Software User Guide
Stock Market Software User Guide Contents 1. Welcome... 3 2. GoVenture Stock Market... 4 What is the GoVenture Stock Market Simulation... 4 What Makes GoVenture Stock Market Unique... 4 How GoVenture Differs
Weaving the Software Development Process Between Requirements and Architectures
Weaving the Software Development Process Between and s Bashar Nuseibeh Computing Department The Open University Walton Hall Milton Keynes MK7 6AA, U.K. Email:[email protected] ABSTRACT This position
The Virtual Profession Immersion Model: Bridging Principles and Practice For Instructional Design Students
1 Roussell The Virtual Profession Immersion Model: Bridging Principles and Practice For Instructional Design Students John M. Roussell, Ph.D. California State University, Chico Introduction Instructional
Capstone Project - Software Development Project Assessment Guidelines
Capstone Project - Software Development Project Assessment Guidelines March 2, 2015 1 Scope These guidelines are intended to apply to 25 point software development projects, as available in the MIT and
How to introduce maturity in software change management $
How to introduce maturity in software change management $ Lars Bendix Department of Computer Science Fredrik Bajers Vej 7E Aalborg University Denmark E-mail: [email protected] Abstract: In this paper we
Gamifying Software Development Environments Using Cognitive Principles
Gamifying Software Development Environments Using Cognitive Principles Position Paper Naomi Unkelos-Shpigel, Irit Hadar Information Systems Department, University of Haifa Carmel Mountain 31905, Haifa,
A Framework for Software Product Line Engineering
Günter Böckle Klaus Pohl Frank van der Linden 2 A Framework for Software Product Line Engineering In this chapter you will learn: o The principles of software product line subsumed by our software product
WebSphere Business Monitor
WebSphere Business Monitor Monitor models 2010 IBM Corporation This presentation should provide an overview of monitor models in WebSphere Business Monitor. WBPM_Monitor_MonitorModels.ppt Page 1 of 25
Software Development Life Cycle
4 Software Development Life Cycle M MAJOR A J O R T TOPICSO P I C S Objectives... 52 Pre-Test Questions... 52 Introduction... 53 Software Development Life Cycle Model... 53 Waterfall Life Cycle Model...
Surveying and evaluating tools for managing processes for software intensive systems
Master Thesis in Software Engineering 30 Credits, Advanced Level Surveying and evaluating tools for managing processes for software intensive systems Anuradha Suryadevara IDT Mälardalen University, ABB
Retained Fire Fighters Union. Introduction to PRINCE2 Project Management
Retained Fire Fighters Union Introduction to PRINCE2 Project Management PRINCE2 PRINCE stands for: PRojects IN Controlled Environments and is a structured method which can be applied to any size or type
Teaching & Media: A Systematic Approach
Teaching & Media: A Systematic Approach The Gerlach & Ely Model A Critique by Sarah Grabowski February 27, 2003 Dr. Rob Branch EDIT 6180 The Gerlach & Ely Model From Teaching and Media: A Systematic Approach,
Classical Software Life Cycle Models
Classical Software Life Cycle Models SWEN 301 Trimester 1, 2015 Lecturer: Dr Hui Ma Engineering and Computer Science Lecture slides make use of material provided on the textbook's companion website Motivation
A Framework for Self-Regulated Learning of Domain-Specific Concepts
A Framework for Self-Regulated Learning of Domain-Specific Concepts Bowen Hui Department of Computer Science, University of British Columbia Okanagan and Beyond the Cube Consulting Services Inc. Abstract.
A Configuration Management Model for Software Product Line
A Configuration Management Model for Software Product Line Liguo Yu 1 and Srini Ramaswamy 2 1 Computer Science and Informatics Indiana University South Bend South Bend, IN 46634, USA [email protected] 2 Computer
An Iterative Usability Evaluation Procedure for Interactive Online Courses
An Iterative Usability Evaluation Procedure for Interactive Online Courses by Laurie P. Dringus ABSTRACT The Internet and World Wide Web (W3) have afforded distance learners simple links to access information.
An Interactive Web Based Virtual Factory Model for Teaching Production Concepts
An Interactive Web Based Virtual Factory Model for Teaching Production Concepts Ramanan Tiruvannamalai, Lawrence Whitman, Hossein Cheraghi, and Ashok Ramachandran Department of Industrial and Manufacturing
Master of Science in Software Engineering (MSC)
Master of Science in Software Engineering The MSc in Software Engineering provides a thorough grounding in how to apply rigorous engineering principles to deliver elegant, effective software solutions
EASTERN SCHOOL DISTRICT
EASTERN SCHOOL DISTRICT Course Descriptor Summary (Interim September 2005) 1. Subject Area: Technology Education 2. Course: Computer Technology 3200 3. Program Description/Guiding Principles: TABLE OF
Applications in Business. Embedded Systems. FIGURE 1-17 Application Types and Decision Types
22 CHAPTER 1 Overview of Software Engineering she may determine his or her degree of confidence in the ES's results. These four application types-transaction, query, DSS, and ES-will be referenced throughout
Case Studies in Systems Engineering Central to the Success of Applied Systems Engineering Education Programs
Complexity Case Studies in Systems Engineering Central to the Success of Applied Systems Engineering Education Programs Carlee A. Bishop Principal Research Engineer, Georgia Tech Research Institute Georgia
SOFTWARE ENGINEERING TEAM STUDIOS. Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 [email protected].
SOFTWARE ENGINEERING TEAM STUDIOS Jaime Niño Computer Science, University of New Orleans New Orleans, LA 70148 504-280-7362 [email protected] ABSTRACT Training of students on software engineering methods
Multidisciplinary Engineering Systems Graduate Education: Master of Engineering in Mechatronics
Multidisciplinary Engineering Systems Graduate Education: Master of Engineering in Mechatronics Kevin Craig College of Engineering Marquette University Milwaukee, WI, USA Phil Voglewede College of Engineering
A generic framework for game development
A generic framework for game development Michael Haller FH Hagenberg (MTD) AUSTRIA [email protected] Werner Hartmann FAW, University of Linz AUSTRIA [email protected] Jürgen Zauner FH
TABLE OF CONTENTS. INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE...
Starting Guide TABLE OF CONTENTS INTRODUCTION... 5 Advance Concrete... 5 Where to find information?... 6 INSTALLATION... 7 STARTING ADVANCE CONCRETE... 7 ADVANCE CONCRETE USER INTERFACE... 7 Other important
CSE 435 Software Engineering. Sept 16, 2015
CSE 435 Software Engineering Sept 16, 2015 2.1 The Meaning of Process A process: a series of steps involving activities, constraints, and resources that produce an intended output of some kind A process
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is:
In the IEEE Standard Glossary of Software Engineering Terminology the Software Life Cycle is: The period of time that starts when a software product is conceived and ends when the product is no longer
Object Location Modeling in Office Environments First Steps
Object Location Modeling in Office Environments First Steps Thomas Pederson Department of Computing Science, Umeå University, SE-90187 Umeå, Sweden [email protected] Abstract. In this position paper we briefly
ASSESSMENT OF SOFTWARE PROCESS MODELS
ASSESSMENT OF SOFTWARE PROCESS MODELS Akhilesh Research Scholar, Department of Computer Science, Manav Bharti University, Solan (H.P.) ABSTRACT The field of software engineering is related to the development
Incorporating Lean Six Sigma into an Aviation Technology Program
Incorporating Lean Six Sigma into an Aviation Technology Program M. E. Johnson 1, S. I. Dubikovsky 2 1,2 Purdue University, Department of Aviation Technology, West Lafayette, Indiana, USA ([email protected])
3 rd GENERATION KNOWLEDGE MANAGEMENT and Beyond!
KNOWLEDGE MANAGEMENT TALKS: 3 rd GENERATION KNOWLEDGE MANAGEMENT and Beyond! Even given its short life span, Knowledge Management has clearly evolved through three distinct eras, and is already entering
White Paper Business Process Modeling and Simulation
White Paper Business Process Modeling and Simulation WP0146 May 2014 Bhakti Stephan Onggo Bhakti Stephan Onggo is a lecturer at the Department of Management Science at the Lancaster University Management
