Simulation Modeling Some Programming Required
|
|
|
- Egbert Allison
- 10 years ago
- Views:
Transcription
1 Simulation Modeling Some Programming Required IIE Solutions February 1997 by Jerry Banks and Randall R. Gibson Simulation software advertisements often claim simulation models can be quickly built with "no programming required." It is our view, however, that building a valid simulation model of real systems does require some programming. Programming simply refers to the process of designing, coding, and testing the procedures necessary to imitate real system activities and logic the real behavior of the system. This process could take the form of any representation that a computer can interpret and execute, such as an IF-THEN-ELSE type ordered logic written by the user (in a symbolic language), or selected from a list even using point-andclick operations. Some simulation software introduced in the last few years attempts to minimize even eliminate altogether the programming process. They allow you to select from among pre-built modules on a graphic menu, drag and drop, and click here and there. The result: you're finished! You've built a model, you haven't had to "program." In fac,t you haven't had to think too much about it. But be careful; the resulting model may not be accurate enough to be of much use. Simulation software that requires no programming is very application-specific, relying on pre-built constructs for "typical" activities and functions found in that application. But those constructs tend to be too generic. They can be difficult to modify, and they are not applicable to problems outside of the application domain.
2 For example, if you are simulating a conveyor, then that conveyor must be of a type supported by the simulation software. Otherwise, there is a risk of approximating your conveyor. Even worse, the result could be major mistakes in the analysis, which would invalidate the results. Obviously, real conveyer systems are complicated and require detailed modeling and careful analysis to correctly simulate their behavior and produce accurate results. Unfortunately, they may be grossly oversimplified in the standard constructs provided with "no programming" simulation software. Consider the following example. Suppose we use a popular programming simulation software, which is oriented toward manufacturingt call it Software X. The goal is to simulate the loading of a trailer with 10 different rolls of carpet, travel to the destination, then unload the carpet in the reverse order of loading. Using the "LOAD" command accomplishes the placement of the carpet on the trailer. So far, so good. Using the "UNLOAD" command removes the carpet, but in the order that it was loaded. Obviously, the trailer should be unloaded in reverse order. To accomplish the desired result (provided that the modeler knew that the software was not reproducing reality) requires the use of "dummy" locationst fake entities used to allow work-arounds for such problems. Dummy locations are used frequently in no-programming software to accomplish a desired result, and this can lead to much confusion. Not only is the frequent need to resort to this artifice confusing to the modeler, the use of dummy locations causes other aggravations. For example, in a complex process at a machine, dummy locations may have to be added to portray the various steps in the process. Then, when a report on the utilization of the machine is desired, even more dummy locations have to be added. Using a different, "programming" simulation software, an order list construct can be used. This allows the modeler to specify to the model that the carpet rolls be unloaded in accordance with the value of an attribute that contains the time of their arrival. Unloading the rolls from lowest to highest time of arrival would accomplish the desired purpose. Although we would consider this a "programming" approach, it seems to us more straightforward and easier to build than the dummy location work around. If the customer later decides that the truck should be unloaded in order of color instead, this too can be easily programmed using the same order list construct.
3 Generations of Programming A program is a series of instructions that a computer can interpret and execute, allowing it to perform arithmetic and logical operations or comparisons, and perhaps take some additional action based on the comparison, or input or output data in a desired sequence. Programming languages are the syntax, grammar, and symbols or words used to correctly encode the instructions. The first generation of programming languages, called machine languages, required the writing of long strings of binary numbers to represent the basic machine operations, such as add, subtract, and compare. Combining sequences of these instructions to do useful higher level tasks was extremely tedious, and was "prehistoric" programming by today's standards. Symbolic, or assembly, languages second-generation languages were introduced in the early 1950s. They use simple mnemonics such as "A" for add or "M" for multiply, which are translated into machine language by a program called an assembler. Although a big improvement over machine languages, writing programs in these languages was still quite tedious and error prone. The third generation of languages was developed in the mid-1950s. They were called "high-level" languages because they were largely independent of the hardware (they must be translated into machine code for the target computer by special programs called compilers or interpreters). These were algorithmic or procedural languages designed for solving a particular type of problem. The first such language was FORTRAN (FORmula TRANslation), developed about 1956 and intended for scientific calculations. A number of others followed, many of which are still in use. The most popular are BASIC (Beginners All-purpose Symbolic Instruction Code) and C. These languages allowed much more complex programs to be developed in relatively short order, and allowed the development of many new applications (although still by trained experts). The very first commercially available simulation software (Simula) was a third generation language, and many general purpose simulation software still in use such as GPSS/H, SLAM II and SIMAN/V are still third generation procedural languages. Fourth-generation languages are nonprocedural they specify what is to be accomplished without describing how. The first one, FORTH, developed in 1970, is used in scientific and industrial control applications. Recent "no programming" simulation software products are based on fourth generation language concepts:
4 they specify what is to be done, and leave the details of how it is accomplished to the software. However, these products, like most fourth-generation languages, are still written for specific purposes. Fifth-generation languages, still in their infancy, are an outgrowth of artificial intelligence research. An example is PROLOG (PROgramming LOGic), which is designed for programming logical processes and making deductions automatically. Although there are no fifth-generation simulation products available yet, we expect to see some before the end of the decade. The User Interface - How Important? The development of user interfaces reflects the evolution of programming languages over the generations, up to the current object-oriented, event-triggered graphical user interfaces (GUI) that we are all familiar with for Windows applications. An attractive graphical interface that allows the user to easily arrange and connect simplified modeling constructs or blocks is central to no-programming (non-procedural ) modeling software. The claim is that menu-based, drag-anddrop, check-the-box type interactions are all that will be required of the user to build, run and test a complete model. This approach does facilitate the construction of models up to a point. However, there is a point at which a graphical environment presents the user with more barriers than advantages; creating and editing complex models with graphical tools often requires more time than creating and editing such models in a textbased environment. In fact, a no-programming graphical interface can lead the user into a trap: in an attempt to restrict the model building activity to what is supported by the GUI, the user may lose sight of the detail and logic needed in the model while attempting to fit the model to the software capabilities. User interfaces can be partitioned roughly into three categories: Interrogative The software leads the user through the steps. An example is the interview mode in your tax preparation software. The software asks the questions and the user replies.
5 Declarative The user fills-in the blanks. Point-and-click software, with some minimal typing, follows this process. Graphical simulation model-building software is an example of this category. Imperative The user specifies the actions by some form of programming, even though the programming may be disguised. Traditional generalpurpose simulation languages are examples of this category. Which is the appropriate interface? It depends on the application. For people that have never prepared their own income taxes, the interrogative mode is perfect. After you know what is needed, you can complete your income taxes using the declarative mode, just call up a particular form and fill-in the blanks. The imperative mode is not useful in the case of income taxes since the Internal Revenue Service makes all of the rules and the taxpayer is just the following these. No logic is needed. The higher the level of the simulation software interface, the less flexibility the modeler is given. The higher the level of the interface, the more decisions are made by the developers of the software, rather than by the user. This trend continues toward higher level declarative, even interrogative interfaces, and we think this leads to overly simplified (often invalid) models. Why should we be concerned by this trend? The systems that are simulated are usually complex as they have a reactive character. For example, "when the queue in front of drill A reaches or exceeds 20 entities, deploy one of two workers from the sander, provided the sander queue is less than five and there are two workers at the sander, to drill B until the queue at drill A reaches 5 or less." It is impossible or extremely difficult to build an interrogative or declarative interface to describe all algorithmic behavior. Yet capturing this behavior is essential for a valid model. In some cases models are not so complex. If the subsystem being simulated is isolated from interaction with other subsystems, and there are no conditions in the flow of entities, and if the material handling system is simple, or there is sufficient material handling capacity that it can be treated as a time delay, then an interrogative or declarative interface (no-programming software) can be used for modeling. Such systems are rarely seen in practice, however; in eight years of consulting practice on the part of one of the authors, one such system was seen (out of approximately 100). The lack of flexibility might be acceptable if there is a way to get underneath the
6 statements provided by the software. Often, when you get into the language underneath, it is so cumbersome that you wish that you had not even opened the can of worms. Simulation is a Discipline - Not a Software Advertisements that make the claim of "no-programming required" are written to appeal to the person not trained in simulation modeling. The objective indicated in these ads is that it is possible to hand off the problem to a production line person. The risk is that the person given the task does not have the capability to validate and verify the model, much less understand the intricacies of the model statements, but appreciates the seeming rapidity of the development exercise and the resulting animation and automatic output reports in the form of business graphics if the output looks okay, the person assumes the simulation must be right. Forget about the testing of the model and the statistical analysis the presentation was made, everyone liked the animation. This approach is dangerous because the model constructed may not reflect the real system that is being modeled. Thus, a Type III error may be committed (i.e., the model solves the wrong problem). We believe that this problem arises, in part, from the "no programming required" misconception. In fact, much of the understanding of the system comes through the difficulties of the model building exercise. The model builder is often forced to resolve conflicts and to explore new directions that were previously not realized or understood. The more automatic the model building exercise, the less this understanding and learning occurs. Simulation is a discipline, not a software package; it requires detailed formulation of the problem, careful translation or coding of the system logic into the simulation procedural language (regardless of the interface type), and thorough testing of the resulting model and results. There are at least two different skills required to be successful at simulation. The first skill required is the ability to understand a complex system and its interrelationships. The second skill required is the ability to translate this understanding into an appropriate logical representation recognized by the simulation software. Selling simulation software with the lead "no programming required" clouds the need for these two skills. As simulation consultants, when looking for new staff hires we prefer analysts that have an advanced degree that involves quantitative methods and several simulation and statistical courses. We insist that our new hires have excellent
7 computing skills, an indication of a logical mind. The discipline could be industrial engineering, operations research, or management science. Many computer science graduates also are trained for a possible career in simulation. Does Programming = Difficulty? Just what makes building a simulation model difficult? Difficulty is caused by the need for flexibility, and by the need for realistic detail. For example, if a routing decision in a manufacturing model is based on product type or size, or utilization of the possible destinations, or whether or not there is another product of higher priority, and so on, then some logic must be developed to test for these conditions and make the correct logical choice. Hence, difficulty is not a function of model size, number of processes, or the number of different product types. The difficulty is caused by the need to mimic the real-world logic. The appropriate logic is not always so obvious, but it is the heart of most simulation models of real systems. And, it is not always so easy to define this logic with no-programming software. Generally, a programming type modeling environment is more flexible, and supports a wider variety of solution approaches that may be tailored to any degree of detail required. Having watched the evolution of special purpose simulation products, we have seen software that was easy to use (although not always useful) at its outset become very difficult to use as the vendor became intent on increasing the flexibility so that a process can be modeled accurately, or a material handling device will model the system intended. For example, the main-building screen of one modeling package has approximately 75 quarter-inch-square icons visible on the screen. Many of these can be clicked on to reveal more icons. It is impossible that the use of such a huge number of icons can be totally intuitive. Eventually, some of these products become so cluttered with drop down menus and hidden options that they are more trouble than programming, just what they were intended to eliminate. This further slows the operation of the software so that succeeding versions go in the reverse direction of what is anticipated, e.g., they become slower on faster computers. Hidden Dangers The words sound right. You want to model a bridge crane. The no-programming software has a bridge crane! The model must include an
8 automated guided vehicle. Okay, the no-programming software has an AGV. This looks easy, and the model is constructed rapidly. It takes only four hours to build with animation, and that's four-and-a-half days faster than with the language that doesn't advertise no programming. But, you had better dig deeper into what the bridge crane module really does. You had better dig deeper into those AGV movement rules. What scheduling logic is being used? What parking rules are used? Is this the same as your bridge crane? Does your AGV system work this way? There is much danger in treating these capabilities as a black box. You may find that you haven't accounted for the minimum spacing of the AGVs, and that is important. You may find that the control algorithm for the bridge crane is not the same as the one your system is using, and it can't be changed. We might go so far as to say that by not requiring you to explicitly specify or "program" model logic, no programming packages can and do hide critical detail which you may need to see in order to understand and verify the model's behavior and results. If you were told to design a machine, you wouldn't simply describe the machine's outside view, fill its surface with some pretty colors from your paintbrush type software, and then turn on the automatic inside machine design program. You would need to design the inside of that machine carefully, including all of the spindles, bearings, gears, races, and their interactions. Here's an example of the "hidden" dangers: A model was developed of a simple high speed packaging conveyer line using the approach promoted by Software Y. The modeler selected from among the high-level blocks provided, clicked and filled in the Windows "check boxes," and accespted some defaults. The modeler made one critical error however, by not specifying a previous conveyer section resource to be released after gaining access to the next section; the modeler inadvertently left the default "release before" option selected. This model construct used an "internal" queue in the queue-seize logic, which is hidden from the user. This queue actually allowed an unlimited number of package entities to build up when the downstream conveyer section filled, providing a totally erroneous result. The model's performance reports provided no clue as to the problem, because the software doesn't report on these hidden queues. Had the modeler used a lower level programming construct instead, this error would have
9 been much more obvious to detect. The 80% Syndrome One of the co-authors was enthralled by the possibility of manufacturing-oriented simulation software in the early 80's and became an instructor for a software vendor. A product manager for the vendor a former student of the co-author made a statement in confidence, that said in effect: "Even though the ads for this product say that 80% of all manufacturing problems can be solved using this software, I think that it's more like 80% of the problem that can be solved." We suggest that no-programming simulation software suffers the same limitations: it may get you quickly to the point of modeling about 80% of your system. At that point you begin to discover some shortcomings in the software, and getting additional detail or "fidelity" for the last 20% into your model becomes more difficult. You begin to use building blocks in unusual combinations or use side effects to accomplish your goals. With an inferior package, you may get to only the 85% point and have to decide whether to abandon the software or live with 85% fidelity. Here's an example that initially looked like a good fit for a "job shop simulator" type of no-programming simulation package. The system to be simulated consists of a small department processing widgets. Widgets were processed at one of four processing machines, followed, by one of two automated inspection machines, followed by joining the widget with a whatzit, then sending the assembly to another department. All processing machines perform the same task, as do all inspection machines. There are two to four operators to perform setups (load machines), takedowns (unload widgets and prepare the machine for the next widget), fix problems and monitor the machines. Once a machine is running (processing a widget) the operator is free to do other tasks. The objective is to determine how many operators are required to keep the machines busy and avoid machine idle time. This problem fits the no-programming simulation software so far. However, there are two additional operational procedures followed that are key to the way the system runs, and therefore must be included in the model. First, at the end of each shift, operators clean each machine and perform a setup but the machines are not started until shortly after the beginning of the next shift, with a new set of operators. Second, the cleaning takes place usually in the last half hour of the shift if the operator feels there's not enough
10 time to setup and run another widget; in effect, the operator looks ahead at the clock to make this decision. The existing no-programming simulation software features, such as scheduled PM, can't handle this type of logic it doesn't fit a "standard" description. To add custom rules would require not only an additional software module (at significant extra cost), but also some programming logic to implement these procedures, even though they are relatively "simple." If it's necessary to reproduce the real system with a high degree of fidelity, then beginning with software that includes a programming capability is the way to go, allowing the user to go all of the way to 100% fidelity, if necessary. Conclusion Are we so spoiled by "ease of use" that we can't stand interrogative and imperative interfaces? Not at all! We use them every day (in word processing, spreadsheets, and so on. If fourth generation simulation software with interrogative and imperative interfaces could be constructed to model very complex systems, we would happily endorse them. What is needed is software that allows operation at multi-levels. We would spend most of our time at the "upper levels" using the interrogative and imperative interfaces (non-procedural definitions), and drop into the procedural, declarative interface only when completely necessary. The problem is the chasm between the interfaces. Thus, we might be drawing networks using point-and-click and shortly thereafter programming in C. When simulation software can operate smoothly at the three levels, we will be ready to buy it. Until that time, we say that you should take great caution before falling for the notion that complex problems can be solved with no programming. Acknowledgments The authors appreciate the inputs of Cliff King from F&H Simulations, Alice Cox from Minuteman Software, Matt Rohrer, Paul Stevens and John Carson from AutoSimulations, Incorporated, and Jim Henriksen and Bob Crain from Wolverine Software for their helpful suggestions. Further Reading Akbay, K.S. "Using Simulation Optimization to find the Best solution," IIE Solutions, May 1996.
11 Banks, J., and R. Gibson, "Getting Started in Simulation Modeling," IIE Solutions, November Banks, J., and V. Norman, "Justifiying Simulation in Today's Manufacturing Environment," IIE Solutions, November Brewer, S.K., "Simulation: Why Aren't We Where We Should Be?" IIE Solutions, January Mabrouk, K.M., "Create Your Own Low-Risk Manufacturing Environment," IIE Solutions, January Mazziotti, B.W., "Get More Mileage from Flexible Simulations," IIE Solutions, May Porcaro, D., "Simulation Modeling and DOE," IIE Solutions, September Routh, G., "Industrial Engineers Play Critical Role in Boeing Celebration," IIE Solutions, July Schelasin, R.E.A., and J.L. Mauer, "Creating Flexible Simulation Models," IIE Solutions, May Thompson, M., "Simulation-Based Scheduling: Meeting the Semiconductor Wafer Fabrication Challenge," IIE Solutions May JERRY BANKS retired from the School of Industrial and Systems Engineering at Georgia Tech in 1999 and joined Brooks Automation, AutoSimulations Division as Senior Simulation Technology Advisor. He is the recipient of the 1999 Distinguished Service Award from INFORMS-CS. Randall Gibson is president of Diamond Head Associates, a consulting firm based in San Diego, California, that specializes in supply chain strategy, analysis, and performance improvement. He is a senior member of IIE.
How to Find the Right Simulation Consultant A Practical Guide for Consumers of Simulation Services
How to Find the Right Simulation Consultant A Practical Guide for Consumers of Simulation Services ORMS Today April 1998 by Jerry Banks, Randall R. Gibson and Van B. Norman IN THE BOOK, "DANGEROUS COMPANY,"
Simulation Software: Practical guidelines for approaching the selection process
Practical guidelines for approaching the selection process Randall R. Gibson, Principal / Vice President Craig Dickson, Senior Analyst TranSystems I Automation Associates, Inc. Challenge Selecting from
8. KNOWLEDGE BASED SYSTEMS IN MANUFACTURING SIMULATION
- 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
QUEST The Systems Integration, Process Flow Design and Visualization Solution
Resource Modeling & Simulation DELMIA QUEST The Systems Integration, Process Flow Design and Visualization Solution DELMIA QUEST The Systems Integration, Process Flow Design and Visualization Solution
3 SOFTWARE AND PROGRAMMING LANGUAGES
3 SOFTWARE AND PROGRAMMING LANGUAGES 3.1 INTRODUCTION In the previous lesson we discussed about the different parts and configurations of computer. It has been mentioned that programs or instructions have
CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014)
CS Standards Crosswalk: CSTA K-12 Computer Science Standards and Oracle Java Programming (2014) CSTA Website Oracle Website Oracle Contact http://csta.acm.org/curriculum/sub/k12standards.html https://academy.oracle.com/oa-web-introcs-curriculum.html
Chapter 13: Program Development and Programming Languages
Understanding Computers Today and Tomorrow 12 th Edition Chapter 13: Program Development and Programming Languages Learning Objectives Understand the differences between structured programming, object-oriented
How To Understand Programming Languages And Programming Languages
Objectives Differentiate between machine and and assembly languages Describe Describe various various ways ways to to develop develop Web Web pages pages including including HTML, HTML, scripting scripting
White Paper: 5GL RAD Development
White Paper: 5GL RAD Development After 2.5 hours of training, subjects reduced their development time by 60-90% A Study By: 326 Market Street Harrisburg, PA 17101 Luis Paris, Ph.D. Associate Professor
Microsoft Access is an outstanding environment for both database users and professional. Introduction to Microsoft Access and Programming SESSION
539752 ch01.qxd 9/9/03 11:38 PM Page 5 SESSION 1 Introduction to Microsoft Access and Programming Session Checklist Understanding what programming is Using the Visual Basic language Programming for the
Data Quality Assurance
CHAPTER 4 Data Quality Assurance The previous chapters define accurate data. They talk about the importance of data and in particular the importance of accurate data. They describe how complex the topic
Software: Systems and. Application Software. Software and Hardware. Types of Software. Software can represent 75% or more of the total cost of an IS.
C H A P T E R 4 Software: Systems and Application Software Software and Hardware Software can represent 75% or more of the total cost of an IS. Less costly hdwr. More complex sftwr. Expensive developers
Chapter 12 Programming Concepts and Languages
Chapter 12 Programming Concepts and Languages Chapter 12 Programming Concepts and Languages Paradigm Publishing, Inc. 12-1 Presentation Overview Programming Concepts Problem-Solving Techniques The Evolution
Fourth generation techniques (4GT)
Fourth generation techniques (4GT) The term fourth generation techniques (4GT) encompasses a broad array of software tools that have one thing in common. Each enables the software engineer to specify some
White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications
Accelerate Development Reduce Time to Product Automate Critical Tasks White Paper: Designing Resourceful Graphical User Interfaces (GUIs) for Healthcare Applications The ASHVINS GROUP, Inc. 6161 Blue Lagoon
Test Data Management Best Practice
Test Data Management Best Practice, Inc. 5210 Belfort Parkway, Suite 400 Author: Stephanie Chace Quality Practice Lead [email protected], Inc. 2011 www.meridiantechnologies.net Table of
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]
Hello, my name is Jessica and I work in Human Resources for Target Corporation.
University of St. Thomas Career Development Center Streaming Audio 4 Sections Interviewing Script Preparing for Interviews Hello, my name is Jessica and I work in Human Resources for Target Corporation.
Top 5 Mistakes Made with Inventory Management for Online Stores
Top 5 Mistakes Made with Inventory Management for Online Stores For any product you sell, you have an inventory. And whether that inventory fills dozens of warehouses across the country, or is simply stacked
Analytics For Everyone - Even You
White Paper Analytics For Everyone - Even You Abstract Analytics have matured considerably in recent years, to the point that business intelligence tools are now widely accessible outside the boardroom
Revolutionized DB2 Test Data Management
Revolutionized DB2 Test Data Management TestBase's Patented Slice Feature Provides a Fresh Solution to an Old Set of DB2 Application Testing Problems The challenge in creating realistic representative
Programming Languages & Tools
4 Programming Languages & Tools Almost any programming language one is familiar with can be used for computational work (despite the fact that some people believe strongly that their own favorite programming
BPMN and Simulation. L. J. Enstone & M. F. Clark The Lanner Group April 2006
BPMN and Simulation L. J. Enstone & M. F. Clark The Lanner Group April 2006 Abstract This paper describes the experiences and technical challenges encountered by the Lanner group in building a Java based
Cisco Change Management: Best Practices White Paper
Table of Contents Change Management: Best Practices White Paper...1 Introduction...1 Critical Steps for Creating a Change Management Process...1 Planning for Change...1 Managing Change...1 High Level Process
B2B Marketing Automation Vendor Selection Workbook
B2B Marketing Automation Vendor Selection Workbook Visit www.raabguide.com for other marketing automation resources. 345 Millwood Road Chappaqua, NY 10514 www.raabassociatesinc.com B2B Marketing Automation
Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1)
Instructor Özgür ZEYDAN BEU Dept. of Enve. Eng. http://cevre.beun.edu.tr/zeydan/ CIV 112 Computer Programming Lecture Notes (1) Computer Programming A computer is a programmable machine. This means it
ERP 100 Success Secrets
ERP 100 Success Secrets Enterprise Resource Planning 100 Success Secrets - 100 Most Asked Questions: The Missing ERP Software, Systems, Solutions, Applications and Implementations Guide Godfrey Glenn ERP
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
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.
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
The Modern Digital Platform: Unifying Transactions, Content, and Workflows
The Modern Digital Platform: Unifying Transactions, Content, and Workflows There is real value for insurers that are able to effectively unify transactions, content, and workflows to holistically support
Lecture 1: Introduction
Programming Languages Lecture 1: Introduction Benjamin J. Keller Department of Computer Science, Virginia Tech Programming Languages Lecture 1 Introduction 2 Lecture Outline Preview History of Programming
CHAPTER 11 REQUIREMENTS
Lecture Software Engineering CHAPTER 11 REQUIREMENTS Lecture Software Engineering Topics Determining What the Client Needs Overview of the Requirements Workflow Understanding the Domain The Business Model
Making confident decisions with the full spectrum of analysis capabilities
IBM Software Business Analytics Analysis Making confident decisions with the full spectrum of analysis capabilities Making confident decisions with the full spectrum of analysis capabilities Contents 2
Microsoft Excel Tips & Tricks
Microsoft Excel Tips & Tricks Collaborative Programs Research & Evaluation TABLE OF CONTENTS Introduction page 2 Useful Functions page 2 Getting Started with Formulas page 2 Nested Formulas page 3 Copying
(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
FIVE STEPS FOR DELIVERING SELF-SERVICE BUSINESS INTELLIGENCE TO EVERYONE CONTENTS
FIVE STEPS FOR DELIVERING SELF-SERVICE BUSINESS INTELLIGENCE TO EVERYONE Wayne Eckerson CONTENTS Know Your Business Users Create a Taxonomy of Information Requirements Map Users to Requirements Map User
One of the most important topics in any discussion of TCP/IP is IP. IP Addressing
IP Addressing 125 machine, called a RARP server, responds with the answer, and the identity crisis is over. RARP uses the information it does know about the machine s MAC address to learn its IP address
WHITE PAPER. Data Center Fabrics. Why the Right Choice is so Important to Your Business
WHITE PAPER Data Center Fabrics Why the Right Choice is so Important to Your Business Introduction Data center fabrics are emerging as the preferred architecture for next-generation virtualized data centers,
Part 1 Foundations of object orientation
OFWJ_C01.QXD 2/3/06 2:14 pm Page 1 Part 1 Foundations of object orientation OFWJ_C01.QXD 2/3/06 2:14 pm Page 2 1 OFWJ_C01.QXD 2/3/06 2:14 pm Page 3 CHAPTER 1 Objects and classes Main concepts discussed
How to Plan a Successful Load Testing Programme for today s websites
How to Plan a Successful Load Testing Programme for today s websites This guide introduces best practise for load testing to overcome the complexities of today s rich, dynamic websites. It includes 10
6 3 4 9 = 6 10 + 3 10 + 4 10 + 9 10
Lesson The Binary Number System. Why Binary? The number system that you are familiar with, that you use every day, is the decimal number system, also commonly referred to as the base- system. When you
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
Why Johnny Can't Encrypt: A Usability Study of PGP
Why Johnny Can't Encrypt: A Usability Study of PGP Jan Sousedek Technische Universität Berlin, Germany Erasmus program Summer semester 2008 Seminar: Internet Security [email protected] Abstract Interfaces
Data processing goes big
Test report: Integration Big Data Edition Data processing goes big Dr. Götz Güttich Integration is a powerful set of tools to access, transform, move and synchronize data. With more than 450 connectors,
New Generation of Software Development
New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 [email protected] ABSTRACT In this paper, I present a picture of what software development
WHITE PAPER WORK PROCESS AND TECHNOLOGIES FOR MAGENTO PERFORMANCE (BASED ON FLIGHT CLUB) June, 2014. Project Background
WHITE PAPER WORK PROCESS AND TECHNOLOGIES FOR MAGENTO PERFORMANCE (BASED ON FLIGHT CLUB) June, 2014 Project Background Flight Club is the world s leading sneaker marketplace specialising in storing, shipping,
ESA FAQ. E-mail Self Administration Frequently Asked Questions
E-mail Self Administration Frequently Asked Questions Contents ESA FAQ...2 How do I... Log in?...2 How do I... Add a new e-mail address?...2 How do I... Add a new mailbox?...3 How do I... Add a new alias?...4
Access Tutorial 8: Combo Box Controls
Access Tutorial 8: Combo Box Controls 8.1 Introduction: What is a combo box? So far, the only kind of control you have used on your forms has been the text box. However, Access provides other controls
Algorithms, Flowcharts & Program Design. ComPro
Algorithms, Flowcharts & Program Design ComPro Definition Algorithm: o sequence of steps to be performed in order to solve a problem by the computer. Flowchart: o graphical or symbolic representation of
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102
Intellect Platform - The Workflow Engine Basic HelpDesk Troubleticket System - A102 Interneer, Inc. Updated on 2/22/2012 Created by Erika Keresztyen Fahey 2 Workflow - A102 - Basic HelpDesk Ticketing System
Introduction to QuickBooks Online Edition Course Manual
Introduction to QuickBooks Online Edition Course Manual Module 8 End of Period Activities and Financial Statements Copyright Notice. Each module of the Introduction To QuickBooks Course Manual may be viewed
Dataset Management with Microsoft Access
The Institute for Economic Development Boston University Introduction Dataset Management with Microsoft Access The purpose of this document is to familiarize users with ways to import datasets and construct
Robot Task-Level Programming Language and Simulation
Robot Task-Level Programming Language and Simulation M. Samaka Abstract This paper presents the development of a software application for Off-line robot task programming and simulation. Such application
Topics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
Measuring performance in credit management
Measuring performance in credit management Ludo Theunissen Prof. Ghent University Instituut voor Kredietmanagement e-mail: [email protected] Josef Busuttil MBA (Henley); DipM MCIM; FICM Director
Module 2. Software Life Cycle Model. Version 2 CSE IIT, Kharagpur
Module 2 Software Life Cycle Model Lesson 3 Basics of Software Life Cycle and Waterfall Model Specific Instructional Objectives At the end of this lesson the student will be able to: Explain what is a
Visual Planning and Scheduling Systems. A White Paper. Gregory Quinn President Quinn & Associates Inc September 2006 Updated October 2006
Visual Planning and Scheduling Systems A White Paper By Gregory Quinn President Quinn & Associates Inc September 2006 Updated October 2006 Visual Planning and Visual Scheduling Systems Introduction The
Bachelor of Games and Virtual Worlds (Programming) Subject and Course Summaries
First Semester Development 1A On completion of this subject students will be able to apply basic programming and problem solving skills in a 3 rd generation object-oriented programming language (such as
Using CAD Data in Assembly - Advantages and Pitfalls
Using CAD Data in Assembly - Advantages and Pitfalls For years, electronic engineers and circuit board designers have shared information between their computer-aided-engineering (CAE) and computer-aided-design
Driving Success. 7 Best Practices to Make Your Client Billing Easy
Driving Success 7 Best Practices to Make Your Client Billing Easy Introduction This white paper shows what to look for as you evaluate solutions that can make it easier to bill your clients for project
Visualizing molecular simulations
Visualizing molecular simulations ChE210D Overview Visualization plays a very important role in molecular simulations: it enables us to develop physical intuition about the behavior of a system that is
Top 5 best practices for creating effective dashboards. and the 7 mistakes you don t want to make
Top 5 best practices for creating effective dashboards and the 7 mistakes you don t want to make p2 Financial services professionals are buried in data that measure and track: relationships and processes,
X-Trade Brokers Dom Maklerski S.A. XTB Expert Builder. Tutorial. Michał Zabielski 2010-08-05
X-Trade Brokers Dom Maklerski S.A. XTB Expert Builder Tutorial Michał Zabielski 2010-08-05 Table of Contents Installation...3 Legal notification...7 Initial adjustments / Preferences...8 Language...8 Platform
Subversion Integration for Visual Studio
Subversion Integration for Visual Studio VisualSVN Team VisualSVN: Subversion Integration for Visual Studio VisualSVN Team Copyright 2005-2008 VisualSVN Team Windows is a registered trademark of Microsoft
Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6
Everything you wanted to know about using Hexadecimal and Octal Numbers in Visual Basic 6 Number Systems No course on programming would be complete without a discussion of the Hexadecimal (Hex) number
Chapter 8 Approaches to System Development
Systems Analysis and Design in a Changing World, sixth edition 8-1 Chapter 8 Approaches to System Development Table of Contents Chapter Overview Learning Objectives Notes on Opening Case and EOC Cases
Empower Individuals and Teams with Agile Data Visualizations in the Cloud
SAP Brief SAP BusinessObjects Business Intelligence s SAP Lumira Cloud Objectives Empower Individuals and Teams with Agile Data Visualizations in the Cloud Empower everyone to make data-driven decisions
Unit 4 Research Project. Eddie S. Jackson. Kaplan University. IT560: Managing Technology in a Business Environment. Stephen Beyer, Ph.D.
Running head: UNIT 4 RESEARCH PROJECT 1 Unit 4 Research Project Eddie S. Jackson Kaplan University IT560: Managing Technology in a Business Environment Stephen Beyer, Ph.D. 12/2/2014 UNIT 4 RESEARCH PROJECT
How to Find and Buy. The House of Your Dreams
How to Find and Buy The House of Your Dreams Without Hassles, Headaches or Surprises So you want to buy a home Buying a home is probably the most emotionally charged, financially significant investment
HOW TO LINK AND PRESENT A 4D MODEL USING NAVISWORKS. Timo Hartmann [email protected]
Technical Paper #1 HOW TO LINK AND PRESENT A 4D MODEL USING NAVISWORKS Timo Hartmann [email protected] COPYRIGHT 2009 VISICO Center, University of Twente [email protected] How to link and present
Manufacturing Efficiency Guide
Note: To change the product logo for your ow n print manual or PDF, click "Tools > Manual Designer" and modify the print manual template. Contents 3 Table of Contents 1 Introduction 5 2 What Is Manufacturing
Creating Drawings in Pro/ENGINEER
6 Creating Drawings in Pro/ENGINEER This chapter shows you how to bring the cell phone models and the assembly you ve created into the Pro/ENGINEER Drawing mode to create a drawing. A mechanical drawing
Paper 10-27 Designing Web Applications: Lessons from SAS User Interface Analysts Todd Barlow, SAS Institute Inc., Cary, NC
Paper 10-27 Designing Web Applications: Lessons from SAS User Interface Analysts Todd Barlow, SAS Institute Inc., Cary, NC ABSTRACT Web application user interfaces combine aspects of non-web GUI design
Candle Plant process automation based on ABB 800xA Distributed Control Systems
Candle Plant process automation based on ABB 800xA Distributed Control Systems Yousef Iskandarani and Karina Nohammer Department of Engineering University of Agder Jon Lilletuns vei 9, 4879 Grimstad Norway
Functional Modelling in secondary schools using spreadsheets
Functional Modelling in secondary schools using spreadsheets Peter Hubwieser Techn. Universität München Institut für Informatik Boltzmannstr. 3, 85748 Garching [email protected] http://ddi.in.tum.de
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
Lesson 1 Introduction to Rapid Application Development using Visual Basic
Lesson 1 Introduction to Rapid Application Development using Visual Basic RAD (Rapid Application Development) refers to a development life cycle designed to give much faster development and higher-quality
THE TOP TEN TIPS FOR USING QUALTRICS AT BYU
THE TOP TEN TIPS FOR USING QUALTRICS AT BYU TIP #1: CREATING A SURVEY FROM A COPY AND COLLABORATING ON SURVEYS TIP #2: CREATING AND USING PANELS TIP #3: LIBRARIES AND HOW TO USE THEM TIP #4: BASIC SKIP
Finding and Opening Documents
In this chapter Learn how to get around in the Open File dialog box. See how to navigate through drives and folders and display the files in other folders. Learn how to search for a file when you can t
MAS 500 Intelligence Tips and Tricks Booklet Vol. 1
MAS 500 Intelligence Tips and Tricks Booklet Vol. 1 1 Contents Accessing the Sage MAS Intelligence Reports... 3 Copying, Pasting and Renaming Reports... 4 To create a new report from an existing report...
Delivery Fleet Optimization with GIS Functionality Webinar
Delivery Fleet Optimization with GIS Functionality Webinar May 28, 2015 Tom Baggio 1. Problem Definition The webinar objectives is a step-by-step process of building a simulation model of an aircraft part
The Essential Guide to Meeting Administrative Challenges in Multi-Tiered SharePoint Environments
September 2010 The Essential Guide to Meeting Administrative Challenges in Multi-Tiered SharePoint Environments By Colin Spence Special Advertising Supplement to SharePointPro Connections T his essential
CONTACT CENTER REPORTING Start with the basics and build success.
tech line / dec 2013 CONTACT CENTER REPORTING Start with the basics and build success. By Brian Hinton, Strategic Contact Inc. Pipeline Articles www.contactcenterpipeline.com Brian Hinton Strategic Contact
Chapter 13 Computer Programs and Programming Languages. Discovering Computers 2012. Your Interactive Guide to the Digital World
Chapter 13 Computer Programs and Programming Languages Discovering Computers 2012 Your Interactive Guide to the Digital World Objectives Overview Differentiate between machine and assembly languages Identify
What is a programming language?
Overview Introduction Motivation Why study programming languages? Some key concepts What is a programming language? Artificial language" Computers" Programs" Syntax" Semantics" What is a programming language?...there
The Complete Guide to DEVELOPING CUSTOM SOFTWARE FOR ANY BUSINESS CHALLENGE
The Complete Guide to DEVELOPING CUSTOM SOFTWARE FOR ANY BUSINESS CHALLENGE Developing Custom Software for Any Business Challenge: The Complete Guide Copyright 2015 Published by Art & Logic All rights
A better way to calculate equipment ROI
page 1 A better way to calculate equipment ROI a West Monroe Partners white paper by Aaron Lininger Copyright 2012 by CSCMP s Supply Chain Quarterly (www.supplychainquarterly.com), a division of Supply
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java. The Nature of Software...
1.1 The Nature of Software... Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 1: Software and Software Engineering Software is intangible Hard to understand
Chapter 13: Program Development and Programming Languages
15 th Edition Understanding Computers Today and Tomorrow Comprehensive Chapter 13: Program Development and Programming Languages Deborah Morley Charles S. Parker Copyright 2015 Cengage Learning Learning
An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008
An Introduction to Computer Science and Computer Organization Comp 150 Fall 2008 Computer Science the study of algorithms, including Their formal and mathematical properties Their hardware realizations
Programming Languages
Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately
POSMan Great Solution to Large POS Networks
Název aplikace...best for the best POSMan Great Solution to Large POS Networks th (V 1.1, released on 18. August 2006) Remark: This is a confidential document that might be used by the second party only
