30 December 2005

IT: Firmware (Definitions)

"Computer programs stored in a solid state memory device (such as a chip) so that they are retained when electrical power is removed." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"Programming stored on a chip inside a device (such as a network router) that controls it." (Andy Walker, "Absolute Beginner’s Guide To: Security, Spam, Spyware & Viruses", 2005)

"Software embedded in hardware. Desktop PCs include Basic Input/Output System (BIOS), which is the firmware used to start PCs." (Darril Gibson, "Effective Help Desk Specialist Skills", 2014)

"The software provided by the computer manufacturer to run the hardware in the computer." (Matt Telles, "Beginning Programming", 2014)

"Low-level software that controls hardware operation between the processor and the operating system." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"Software instructions that have been written into read-only memory (ROM) or a programmable ROM (PROM) chip." (Shon Harris & Fernando Maymi, "CISSP All-in-One Exam Guide" 8th Ed., 2018)

29 December 2005

IT: Automation (Just the Quotes)

"Systems engineering embraces every scientific and technical concept known, including economics, management, operations, maintenance, etc. It is the job of integrating an entire problem or problem to arrive at one overall answer, and the breaking down of this answer into defined units which are selected to function compatibly to achieve the specified objectives. [...] Instrument and control engineering is but one aspect of systems engineering - a vitally important and highly publicized aspect, because the ability to create automatic controls within overall systems has made it possible to achieve objectives never before attainable, While automatic controls are vital to systems which are to be controlled, every aspect of a system is essential. Systems engineering is unbiased, it demands only what is logically required. Control engineers have been the leaders in pulling together a systems approach in the various technologies." (Instrumentation Technology, 1957)

"As the decision-making function becomes more highly automated, corporate decision making will perhaps provide fewer outlets for creative drives than it now does." (Herbert A Simon," Management and Corporations 1985", 1960)

"Objectives recorded on the System Specification work sheet, even though preliminary in nature, should be specific. It is never sufficient to state an objective in terms of simply improving an existing system or of implementing a computerized system. The idea that a system or an 'automated' system is a better system has been a popular concept too long. An improved system, per se, is of no benefit to a business client; implementing a better system in order to increase profits or reduce costs is of great benefit." (Robert D Carlsen & James A Lewis, "The Systems Analysis Workbook: A complete guide to project implementation and control", 1973)

"Autonomation [automation with a human touch] changes the meaning of management as well. An operator is not needed while the machine is working normally. Only when the machine stops because of an abnormal situation does it get human attention. As a result, one worker can attend several machines, making it possible to reduce the number of operators and increase production efficiency. [...] Implementing autonomation is up to the managers and supervisors of each production area. The key is to give human intelligence to the machine and, at the same time, to adapt the simple movement of the human operator to the autonomous machines." (Taiichi Ohno, "Toyota Production System: Beyond Large-Scale Production", 1978)

"Autonomation [..] performs a dual role. It eliminates overproduction, an important waste in manufacturing, and prevents the production of defective products. To accomplish this, standard work procedures, corresponding to each player's ability, must be adhered to at all times." (Taiichi Ohno, "Toyota Production System: Beyond Large-Scale Production", 1978)

"When you automate an industry you modernize it; when you automate a life you primitivize it." (Eric Hoffer, "Between the Devil and the Dragon", 1982)

"Automation is certainly one way to improve the leverage of all types of work. Having machines to help them, human beings can create more output." (Andrew S. Grove, "High Output Management", 1983)

"Information engineering has been defined with the reference to automated techniques as follows: An interlocking set of automated techniques in which enterprise models, data models and process models are built up in a comprehensive knowledge-base and are used to create and maintain data-processing systems." (James Martin, "Information Engineering, 1989)

"At the heart of reengineering is the notion of discontinuous thinking - of recognizing and breaking away from the outdated rules and fundamental assumptions that underlie operations. Unless we change these rules, we are merely rearranging the deck chairs on the Titanic. We cannot achieve breakthroughs in performance by cutting fat or automating existing processes. Rather, we must challenge old assumptions and shed the old rules that made the business underperform in the first place." (Michael M Hammer, "Reengineering Work: Don't Automate, Obliterate", Magazine, 1990)

"In short, a reengineering effort strives for dramatic levels of improvement. It must break away from conventional wisdom and the constraints of organizational boundaries and should be broad and cross-functional in scope. It should use information technology not to automate an existing process but to enable a new one." (Michael M Hammer, "Reengineering Work: Don't Automate, Obliterate", Magazine, 1990)

"When a database is computerized, it represents the automation of the knowledge component of a business, which is manifest through the business's quality operation, planning, and management With a successful database, the managers of a business can research the past, organize the present, and plan for the future."  (Michael M Gorman, "Database Management Systems: Understanding and Applying Database Technology", 1991)

"Replacing workers on their present jobs with machines is not the major function of automation. Its greater promise is its ability to do new things, to create new products, new services and new jobs, and to meet the increasing requirements of a growing population." (David Sarnoff)

"The first rule of any technology used in a business is that automation applied to an efficient operation will magnify the efficiency. The second is that automation applied to an inefficient operation will magnify the inefficiency." (Bill Gates)

"[...] the more efficient the automated system is, the more essential the human contribution that is needed to run the automation system. Humans are less involved in heavily automated systems, but their involvement becomes more critical." (Josh Kaufman)

"The more reliable the plant, the less opportunity there will be for the operator to practice direct intervention, and the more difficult will be the demands of the remaining tasks requiring operator intervention."(Josh Kaufman)

28 December 2005

IT: Machines (Just the Quotes)

"The successful construction of all machinery depends on the perfection of the tools employed; and whoever is a master in the arts of tool-making possesses the key to the construction of all machines. [...] The contrivance and construction of tools must therefore ever stand at the head of the industrial arts." (Charles Babbage, "The Exposition of 1851: Views Of The Industry, The Science, and the Government Of England", 1851)

"As soon as an Analytical Engine exists, it will necessarily guide the future course of the science. Whenever any result is sought by its aid, the question will then arise - by what course of calculation can these results be arrived at by the machine in the shortest time?" (Charles Babbage, "Passages from the Life of a Philosopher", 1864) 

"Let us look for a moment at the general significance of the fact that calculating machines actually exist, which relieve mathematicians of the purely mechanical part of numerical computations, and which accomplish the work more quickly and with a greater degree of accuracy; for the machine is not subject to the slips of the human calculator. The existence of such a machine proves that computation is not concerned with the significance of numbers, but that it is concerned essentially only with the formal laws of operation; for it is only these that the machine can obey - having been thus constructed - an intuitive perception of the significance of numbers being out of the question." (Felix Klein, "Elementarmathematik vom holieren Standpunkte aus", 1908)

"A computer would deserve to be called intelligent if it could deceive a human into believing that it was human." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"If one wants to make a machine mimic the behaviour of the human computer in some complex operation one has to ask him how it is done, and then translate the answer into the form of an instruction table. Constructing instruction tables is usually described as 'programming'." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"The idea behind digital computers may be explained by saying that these machines are intended to carry out any operations which could be done by a human computer." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"The original question, 'Can machines think?:, I believe too meaningless to deserve discussion. Nevertheless I believe that at the end of the century the use of words and general educated opinion will have altered so much that one will be able to speak of machines thinking without expecting to be contradicted." (Alan M Turing, 1950) 

"The view that machines cannot give rise to surprises is due, I believe, to a fallacy to which philosophers and mathematicians are particularly subject. This is the assumption that as soon as a fact is presented to a mind all consequences of that fact spring into the mind simultaneously with it. It is a very useful assumption under many circumstances, but one too easily forgets that it is false. A natural consequence of doing so is that one then assumes that there is no virtue in the mere working out of consequences from data and general principles." (Alan Turing, "Computing Machinery and Intelligence", Mind Vol. 59, 1950)

"Cybernetics is not merely another branch of science. It is an intellectual revolution that rivals in importance the earlier Industrial Revolution. Is it possible that just as a machine can take over the routine functions of human muscle, another can take over the routine uses of human mind? Cybernetics answers, yes." (Isaac Asimov, [preface to Pierre de Latil’s Thinking by Machine] 1957)

"A machine is not a genie, it does not work by magic, it does not possess a will, and […] nothing comes out which has not been put in, barring of course, an infrequent case of malfunctioning. [..] The “intentions” which the machine seems to manifest are the intentions of the human programmer, as specified in advance, or they are subsidiary intentions derived from these, following rules specified by the programmer. […] The machine will not and cannot do any of these things until it has been instructed as to how to proceed. […] To believe otherwise is either to believe in magic or to believe that the existence of man’s will is an illusion and that man’s actions are as mechanical as the machine’s." (Arthur L Samuel, Science, 1960) 

"Let an ultraintelligent machine be defined as a machine that can far surpass all the intellectual activities of any man however clever. Since the design of machines is one of these intellectual activities, an ultraintelligent machine could design even better machines; there would then unquestionably be an "intelligence explosion", and the intelligence of man would be left far behind. Thus the first ultraintelligent machine is the last invention that man need ever make." (Irving J Good, "Speculations Concerning the First Ultraintelligent Machine", Advances in Computers Vol. 6, 1965)

"In short, the scientific account of affairs involved the formalization of interactions between men, machines, materials and money, all spread over [a] complex system." (Stafford Beer, "Decision and Control", 1966)

"These machines have no common sense; they have not yet learned to 'think', and they do exactly as they are told, no more and no less. This fact is the hardest concept to grasp when one first tries to use a computer." (Donald Knuth, “The Art of Computer Programming”, 1968)

"The real question is not whether machines think but whether men do." (Burrhus F Skinner, "Contingencies of Reinforcement", 1969)

"An autopoietic machine is a machine organized (defined as a unity) as a network of processes of production (transformation and destruction) of components which: (i) through their interactions and transformations continuously regenerate and realize the network of processes (relations) that produced them; and (ii) constitute it (the machine) as a concrete unity in space in which they (the components) exist by specifying the topological domain of its realization as such a network." (Humberto Maturana, “Autopoiesis and cognition: The realization of the living”, 1980)

"The relations that define a system as a unity, and determine the dynamics of interaction and transformations which it may undergo as such a unity constitute the organization of the machine." (Humberto Maturana, “Autopoiesis and cognition: The realization of the living”, 1980)

"Automation is certainly one way to improve the leverage of all types of work. Having machines to help them, human beings can create more output." (Andrew S Grove, "High Output Management", 1983)

"How machines are related to each other often determines the organizational structure [of the people]." (John A Reinecke & William F Schoell, , Introduction to Business, 1983)

"Cybernetics is simultaneously the most important science of the age and the least recognized and understood. It is neither robotics nor freezing dead people. It is not limited to computer applications and it has as much to say about human interactions as it does about machine intelligence. Today’s cybernetics is at the root of major revolutions in biology, artificial intelligence, neural modeling, psychology, education, and mathematics. At last there is a unifying framework that suspends long-held differences between science and art, and between external reality and internal belief." (Paul Pangaro, "New Order From Old: The Rise of Second-Order Cybernetics and Its Implications for Machine Intelligence", 1988)

"[management by objectives] has become one more way to make organizations behave like machines." (Julien Phillips, "Success", 1988)

"The real definition of a supercomputer is a machine that is just one generation behind the problems it is asked to solve." (Neil Lincoln, Time, 1988)

"If machines knew as much about each other as we know about each other (even in our privacy), the ecology of machines would be indomitable." (Kevin Kelly, "Out of Control: The New Biology of Machines, Social Systems and the Economic World", 1995) 

"Computer programs are the most intricate, delicately balanced and finely interwoven of all the products of human industry to date. They are machines with far more moving parts than any engine: the parts don't wear out, but they interact and rub up against one another in ways the programmers themselves cannot predict." (James Gleick, “What Just Happened: A chronicle from the information frontier”, 2002)

"But intelligence is not just a matter of acting or behaving intelligently. Behavior is a manifestation of intelligence, but not the central characteristic or primary definition of being intelligent. A moment's reflection proves this: You can be intelligent just lying in the dark, thinking and understanding. Ignoring what goes on in your head and focusing instead on behavior has been a large impediment to understanding intelligence and building intelligent machines." (Jeff Hawkins, "On Intelligence", 2004)

"When a machine manages to be simultaneously meaningful and surprising in the same rich way, it too compels a mentalistic interpretation. Of course, somewhere behind the scenes, there are programmers who, in principle, have a mechanical interpretation. But even for them, that interpretation loses its grip as the working program fills its memory with details too voluminous for them to grasp."  (Ray Kurzweil, "The Singularity is Near", 2005)

"Computers bootstrap their own offspring, grow so wise and incomprehensible that their communiqués assume the hallmarks of dementia: unfocused and irrelevant to the barely-intelligent creatures left behind. And when your surpassing creations find the answers you asked for, you can't understand their analysis and you can't verify their answers. You have to take their word on faith." (Peter Watts, "Blindsight", 2006)

"Every system that we build will surprise us with new kinds of flaws until those machines become clever enough to conceal their faults from us." (Marvin Minsky, "The Emotion Machine: Commonsense Thinking, Artificial Intelligence, and the Future of the Human Mind", 2006)

"The attribution of intelligence to machines, crowds of fragments, or other nerd deities obscures more than it illuminates. When people are told that a computer is intelligent, they become prone to changing themselves in order to make the computer appear to work better, instead of demanding that the computer be changed to become more useful." (Jaron Lanier, "You Are Not a Gadget", 2010)

"The architecture - the mind - is knitting together. It’s sentience. Vague sentience. All these years of formulating machines that know something, while the secret is to create machines that don’t know something." (Scott Hutchins,  "A Working Theory of Love", 2012)

"Artificial intelligence is a concept that obscures accountability. Our problem is not machines acting like humans - it's humans acting like machines." (John Twelve Hawks, "Spark", 2014)

"A computer is a general-purpose machine. It takes its instructions from memory, and one can change the computation it performs by putting different instructions in the memory. Instructions and data are indistinguishable except by context; one person’s instructions are another person’s data." (Brian W Kernighan, "Understanding the Digital World", 2017)

"The good news is that a computer is a general-purpose machine, capable of performing any computation. Although it only has a few kinds of instructions to work with, it can do them very fast, and it can largely control its own operation. The bad news is that it doesn’t do anything itself unless someone tells it what to do, in excruciating detail. A computer is the ultimate sorcerer’s apprentice, able to follow instructions tirelessly and without error, but requiring painstaking accuracy in the specification of what to do." (Brian W Kernighan, "Understanding the Digital World", 2017)

"Machines can do many things, but they cannot create meaning. They cannot answer these questions for us. Machines cannot tell us what we value, what choices we should make. The world we are creating is one that will have intelligent machines in it, but it is not for them. It is a world for us." (Paul Scharre, "Army of None: Autonomous Weapons and the Future of War", 2018)

"If we don't truly know what something is programmed to do, chances are it is programming us. Once that happens, we may as well be machines ourselves." (Douglas Rushkoff, "Team Human", 2019)

"A learning machine is any device whose actions are influenced by past experiences."  (Nils Nilsson)

"Every machine has artificial intelligence. And the more advanced a machine gets, the more advanced artificial intelligence gets as well. But, a machine cannot feel what it is doing. It only follows instructions - our instructions - instructions of the humans. So, artificial intelligence will not destroy the world. Our irresponsibility will destroy the world." (Abhijit Naskar)

"Replacing workers on their present jobs with machines is not the major function of automation. Its greater promise is its ability to do new things, to create new products, new services and new jobs, and to meet the increasing requirements of a growing population." (David Sarnoff)

25 December 2005

IT: Asynchronous (Definitions)

"Lack of temporal concurrence; not occurring at the same time." (Ruth C Clark & Chopeta Lyons, "Graphics for Learning", 2004)

"A process that is not coordinated in time. In data storage processes, asynchronous means that the device or software does not wait for acknowledgement before performing the next I/O." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"Data that are transmitted without an associated clock signal. The time spacing between data characters or blocks may be of arbitrary duration (opposite of synchronous)." (John R Vacca, "Optical Networking Best Practices Handbook", 2006)

"The ability to send or receive calls independently and in any order." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"Separate execution streams that can run concurrently in any order relative to each other are asynchronous." (Clay Breshears, "The Art of Concurrency", 2009)

"A system in which events can occur in any order, such as a game where different players can place their moves without being concerned about the order that other players are moving. Contrast with synchronous." (Jon Radoff, "Game On: Energize Your Business with Social Media Games", 2011)

"Describes a style of communication in which the initiator does not wait for a reply. Opposite of synchronous." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A style of communication in which the initiator does not wait for a reply." (Craig S Mullins, "Database Administration", 2012)

"Not occurring at the same moment in time as some specific operation of the computer; in other words, not synchronized with the program’s actions" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Pertaining to events that are not synchronized in time or do not occur in regular or predictable time intervals." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

IT: Artifact (Definitions)

 "a design technique used to represent referential integrity in the DSS environment." (William H Inmon, "Building the Data Warehouse", 2005)

"A tangible object produced by an activity. Examples are specifications, design documents, audit records, code, data, reports, plans, schedules, and training courses. The object can be a product component or a work product." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"A document, model, file, diagram, or other item that is produced, modified, or used during the development, operation, or support of a system." (Pramod J Sadalage & Scott W Ambler, "Refactoring Databases: Evolutionary Database Design", 2006)

"A tangible form of objective evidence indicative of work being performed that is a direct or indirect result of implementing a People CMM model practice." (Sally A Miller et al, "People CMM: A Framework for Human Capital Management" 2nd Ed., 2009)

"An object made or modified by a human." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Description of a part of the architecture; generally organized into catalogs (lists of objects), matrices (which include the relationships between objects), and diagrams (graphical representations)." (Gilbert Raymond & Philippe Desfray, "Modeling Enterprise Architecture with TOGAF", 2014)

"In a UML deployment diagram, a file, a script, an executable program or another item that is deployed. In development models, something generated by the model such as a requirements document, user story, or piece of code." (Rod Stephens, "Beginning Software Engineering", 2015)

"A physical or digital result from an interaction or transaction. Example: a receipt is an artifact of a transaction." (Gregory Lampshire, "The Data and Analytics Playbook", 2016)

"Any object created by human beings with the intent to be of subsequent use, either as a reference or something that could be improved as part of an effort to enhance it." (David K Pham, "From Business Strategy to Information Technology Roadmap", 2016)

"In research, any apparent effect of a major conceptual variable that is actually the result of a confounding variable that has not been properly controlled. Artifacts threaten the validity of research conclusions." (K  N Krishnaswamy et al, "Management Research Methodology: Integration of Principles, Methods and Techniques", 2016)

"An entity that is used or produced by a software development process. Examples of artifacts are models, source files, scripts, and binary executable files." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

IT: Computer Science (Just the Quotes)

"[Computers] are developing so rapidly that even computer scientists cannot keep up with them. It must be bewildering to most mathematicians and engineers. [...] In spite of the diversity of the applications, the methods of attacking the difficult problems with computers show a great unity, and the name of Computer Sciences is being attached to the discipline as it emerges. It must be understood, however, that this is still a young field whose structure is still nebulous. The student will find a great many more problems than answers." (George Forsythe, "Engineering students must learn both computing and mathematics", 1961)

"I consider computer science to be the art and science of exploiting automatic digital computers, and of creating the technology necessary to understand their use. It deals with such related problems as the design of better machines using known components:, the design and implementation of adequate software systems for communication between man and machine, and the design and analysis of methods of representing information by abstract symbols and of processes for manipulating these symbols." (George E Forsythe, "Stanford University's Program in Computer Science", 1965)

"Computer science is a restless infant and its progress depends as much on shifts in point of view as on the orderly development of our current concepts." (Alan Perlis, "The Synthesis of Algorithmic Systems", 1966)

"Computer science is at once abstract and pragmatic. The focus on actual computers introduces the pragmatic component: our central questions are economic ones like the relations among speed, accuracy, and cost of a proposed computation, and the hardware and software organization required. The (often) better understood questions of existence and theoretical computability - however fundamental - remain in the background. On the other hand, the medium of computer science - information - is an abstract one. The meaning of symbols and numbers may change from application to application, either in mathematics or in computer science. Like mathematics, one goal of computer science is to create a basic structure in terms of inherently defined concepts that is independent of any particular application." (George E Forsythe, "What to do till the computer scientist comes", 1968)

"Without real experience in using the computer to get useful results the computer science major is apt to know all about the marvelous tool except how to use it. Such a person is a mere technician, skilled in manipulating the tool but with little sense of how and when to use it for its basic purposes." (Richard Hamming, "One Man's View of Computer Science", 1969)

"Numerical analysis has begun to look a little square in the computer science setting, and numerical analysts are beginning to show signs of losing faith in themselves. Their sense of isolation is accentuated by the present trend towards abstraction in mathematics departments which makes for an uneasy relationship." (James H Wilkinson, "Some Comments from a Numerical Analyst", 1971)

"Software engineering is the part of computer science which is too difficult for the computer scientist." (Friedrich Bauer, "Software Engineering." Information Processing: Proceedings of the IFIP Congress, 1971)

"Computer science is an empirical discipline. [...] Each new machine that is built is an experiment. Actually constructing the machine poses a question to nature; and we listen for the answer by observing the machine in operation and analyzing it by all analytical and measurement means available. Each new program that is built is an experiment. It poses a question to nature, and its behavior offers clues to an answer." (Allen Newell & Herbert A Simon, "Computer Science as Empirical Inquiry: Symbols and Search", 1975)

"In this quest for simplification, mathematics stands to computer science as diamond mining to coal mining. The former is a search for gems. [...]The latter is permanently involved with bulldozing large masses of ore - extremely useful bulk material." (Jacob T Schwartz, "Discrete Thoughts: Essays on Mathematics, Science, and Philosophy, Computer Science", 1986)

"The potential of computer science, if fully explored and developed, will take us to a higher  plane of knowledge about the world. Computer science will assist us in gaining a greater  understanding of intellectual processes. It will enhance our knowledge of the learning  process, the thinking process, and the reasoning process. Computer science will provide  models and conceptual tools for the cognitive sciences. Just as the physical sciences have  dominated humanity's intellectual endeavors during this century as researchers explored  the nature of matter and the beginning of the universe, today we are beginning the exploration of the intellectual universe of ideas, knowledge structures, and language." (John E Hopcroft, [ACM Turing Award Lecture] 1987)

"Computer science only indicates the retrospective omnipotence of our technologies. In other words, an infinite capacity to process data (but only data - i.e. the already given) and in no sense a new vision. With that science, we are entering an era of exhaustivity, which is also an era of exhaustion." (Jean Baudrillard, "Cool memories", 1990)

"Computer science is concerned with the theories and methods that underlie computers and software systems, whereas software engineering is concerned with the practical problems of producing software. Some knowledge of computer science is essential for software engineers in the same way that some knowledge of physics is essential for electrical engineers. Computer science theory, however, is often most applicable to relatively small programs. Elegant theories of computer science cannot always be applied to large, complex problems that require a software solution." (Ian Sommerville, "Software Engineering" 9th Ed., 2011)

"Perhaps an underlying cause [of doubt as to the future of information science] is in some cases [...] the apprehension that information science may become submerged in the larger field of computer science." (Brian C Vickery)

23 December 2005

IT: Computing (Just the Quotes)

"Let it be remarked [...] that an important difference between the way in which we use the brain and the machine is that the machine is intended for many successive runs, either with no reference to each other, or with a minimal, limited reference, and that it can be cleared between such runs; while the brain, in the course of nature, never even approximately clears out its past records. Thus the brain, under normal circumstances, is not the complete analogue of the computing machine but rather the analogue of a single run on such a machine." (Norbert Wiener, "Cybernetics: Or Control and Communication in the Animal and the Machine", 1948)

"There are two types of systems engineering - basis and applied. [...] Systems engineering is, obviously, the engineering of a system. It usually, but not always, includes dynamic analysis, mathematical models, simulation, linear programming, data logging, computing, optimating, etc., etc. It connotes an optimum method, realized by modern engineering techniques. Basic systems engineering includes not only the control system but also all equipment within the system, including all host equipment for the control system. Applications engineering is - and always has been - all the engineering required to apply the hardware of a hardware manufacturer to the needs of the customer. Such applications engineering may include, and always has included where needed, dynamic analysis, mathematical models, simulation, linear programming, data logging, computing, and any technique needed to meet the end purpose - the fitting of an existing line of production hardware to a customer's needs. This is applied systems engineering." (Instruments and Control Systems Vol. 31, 1958)

"The mathematical and computing techniques for making programmed decisions replace man but they do not generally simulate him." (Herbert A Simon, "Management and Corporations 1985", 1960)

"There is the very real danger that a number of problems which could profitably be subjected to analysis, and so treated by simpler and more revealing techniques. will instead be routinely shunted to the computing machines [...] The role of computing machines as a mathematical tool is not that of a panacea for all computational ills." (Richard E Bellman & Paul Brock, "On the Concepts of a Problem and Problem-Solving", American Mathematical Monthly 67, 1960)

"The purpose of computing is insight, not numbers." (Richard W Hamming, "Numerical Methods for Scientists and Engineers", 1962)

"Another thing I must point out is that you cannot prove a vague theory wrong. If the guess that you make is poorly expressed and rather vague, and the method that you use for figuring out the consequences is a little vague - you are not sure, and you say, 'I think everything's right because it's all due to so and so, and such and such do this and that more or less, and I can sort of explain how this works' […] then you see that this theory is good, because it cannot be proved wrong! Also if the process of computing the consequences is indefinite, then with a little skill any experimental results can be made to look like the expected consequences." (Richard P Feynman, "The Character of Physical Law", 1965)

"Computational reducibility may well be the exception rather than the rule: Most physical questions may be answerable only through irreducible amounts of computation. Those that concern idealized limits of infinite time, volume, or numerical precision can require arbitrarily long computations, and so be formally undecidable." (Stephen Wolfram, Undecidability and intractability in theoretical physics", Physical Review Letters 54 (8), 1985)

"We distinguish diagrammatic from sentential paper-and-pencil representations of information by developing alternative models of information-processing systems that are informationally equivalent and that can be characterized as sentential or diagrammatic. Sentential representations are sequential, like the propositions in a text. Diagrammatic representations are indexed by location in a plane. Diagrammatic representations also typically display information that is only implicit in sentential representations and that therefore has to be computed, sometimes at great cost, to make it explicit for use. We then contrast the computational efficiency of these representations for solving several. illustrative problems in mathematics and physics." (Herbert A Simon, "Why a diagram is (sometimes) worth ten thousand words", 1987)

"Neural computing is the study of cellular networks that have a natural property for storing experimental knowledge. Such systems bear a resemblance to the brain in the sense that knowledge is acquired through training rather than programming and is retained due to changes in node functions. The knowledge takes the form of stable states or cycles of states in the operation of the net. A central property of such nets is to recall these states or cycles in response to the presentation of cues." (Igor Aleksander & Helen Morton, "Neural computing architectures: the design of brain-like machines", 1989)

"Beauty is more important in computing than anywhere else in technology because software is so complicated. Beauty is the ultimate defense against complexity." (David Gelernter, "Machine Beauty: Elegance And The Heart Of Technolog", 1998)

"As systems became more varied and more complex, we find that no single methodology suffices to deal with them. This is particularly true of what may be called information intelligent systems - systems which form the core of modern technology. To conceive, design, analyze and use such systems we frequently have to employ the totality of tools that are available. Among such tools are the techniques centered on fuzzy logic, neurocomputing, evolutionary computing, probabilistic computing and related methodologies. It is this conclusion that formed the genesis of the concept of soft computing." (Lotfi A Zadeh, "The Birth and Evolution of Fuzzy Logic: A personal perspective", 1999)

"In science, it is a long-standing tradition to deal with perceptions by converting them into measurements. But what is becoming increasingly evident is that, to a much greater extent than is generally recognized, conversion of perceptions into measurements is infeasible, unrealistic or counter-productive. With the vast computational power at our command, what is becoming feasible is a counter-traditional move from measurements to perceptions. […] To be able to compute with perceptions it is necessary to have a means of representing their meaning in a way that lends itself to computation." (Lotfi A Zadeh, "The Birth and Evolution of Fuzzy Logic: A personal perspective", 1999)

"Why was progress in computing technology so fast compared with the lack of progress in space travel? The reason is very simple: computing technology is only now approaching scientific limits such as quantum uncertainty and the speed of light, while space technology has already run into its limits that derive from the basic principles of physics and chemistry." (Mordechai Ben-Ari, "Just a Theory: Exploring the Nature of Science", 2005)

"Granular computing is a general computation theory for using granules such as subsets, classes, objects, clusters, and elements of a universe to build an efficient computational model for complex applications with huge amounts of data, information, and knowledge. Granulation of an object a leads to a collection of granules, with a granule being a clump of points (objects) drawn together by indiscernibility, similarity, proximity, or functionality. In human reasoning and concept formulation, the granules and the values of their attributes are fuzzy rather than crisp. In this perspective, fuzzy information granulation may be viewed as a mode of generalization, which can be applied to any concept, method, or theory." (Salvatore Greco et al, "Granular Computing and Data Mining for Ordered Data: The Dominance-Based Rough Set Approach", 2009)

16 December 2005

IT: Redundant Array of Independent Disks/RAID (Definitions)

"Installation of several disk drives to a system. Some drives contain mirrored information so data is not lost. RAID disk drives can be replaced quickly in cases of disk failure. This technology is good for Web and database servers, so that no information is lost and the information is always available." (Patrick Dalton, "Microsoft SQL Server Black Book", 1997)

"Sometimes referred to as redundant array of inexpensive disks, a system that uses multiple disk drives (an array) to provide performance and reliability. There are six levels describing RAID arrays, 0 through 5. Each level uses a different algorithm to implement fault tolerance." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"A disk system that comprises multiple disk drives (an array) to provide higher performance, reliability, storage capacity, and lower cost. Fault-tolerant arrays are categorized in six RAID levels: 0 through 5. Each level uses a different algorithm to implement fault tolerance." (Thomas Moore, "EXAM CRAM™ 2: Designing and Implementing Databases with SQL Server 2000 Enterprise Edition", 2005)

"A specific fault-tolerant disk array system design strategy that takes into account issues of cost benefit, reliability, and performance. It can be implemented at a hardware or a software level; each provides a different profile of cost, reliability, and performance. Depending on the person defining RAID, the word independent may be substituted with inexpensive." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

"A bunch of small, cheap disks. A RAID array is a group of disks used together as a single unit logical disk. RAID arrays can help with storage capacity, recoverability and performance, using what are called mirroring and striping. Mirroring creates duplicate copies of all physical data. Striping breaks data into many small pieces, where those small pieces can be accessed in parallel." (Gavin Powell, "Beginning Database Design", 2006)

"A schema for using groups of disks to increase performance, protect data, or both." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"This is a grouping, or array, of hard disks that appear as a single, logical drive to the operating system." (Joseph L Jorden & Dandy Weyn, "MCTS Microsoft SQL Server 2005: Implementation and Maintenance Study Guide - Exam 70-431", 2006)

"RAID is an acronym for Redundant Array of Independent Disks. RAID is a collection of disks that operates as a single disk." (S. Sumathi & S. Esakkirajan, "Fundamentals of Relational Database Management Systems", 2007)

"A RAID array uses multiple physical disks to simulate one logical, larger disk, often with protection from disk failure. (The I can also stand for Independent, and the D can also stand for Drives.) " (Victor Isakov et al, "MCITP Administrator: Microsoft SQL Server 2005 Optimization and Maintenance (70-444) Study Guide", 2007)

"Using more disks than is necessary for the actual data itself, as a buffer against failure of one (or possibly more) disks." (David G Hill, "Data Protection: Governance, Risk Management, and Compliance", 2009)

"A category of disk drives that employ two or more drives in combination for fault tolerance and performance." (Martin Oberhofer et al, "The Art of Enterprise Information Architecture", 2010)

"A system of disk storage where data is distributed across several drives for faster access and improved fault tolerance." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"A technology for configuring a logical data storage device across multiple physical devices to improve performance, availability or both. The primary goal is fault tolerance as in most configurations data can be recovered after a device failure and in some cases, without interruption." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"An acronym that means Redundant Array of Independent Disks. RAID is used to provide balance between performance and fault tolerance. RAID systems use multiple disks to create virtual disks (storage volumes) formed by several individual disks. RAID systems provide performance improvement and fault tolerance." (Carlos Coronel et al, "Database Systems: Design, Implementation, and Management" 9th Ed., 2011)

"A category of disk drives that employ two or more drives in combination to deliver fault tolerance and improved performance." (Craig S Mullins, "Database Administration", 2012)

"A multi-disk storage system that optimizes performance, data safety, or both, depending on the type." (Faithe Wempen, "Computing Fundamentals: Introduction to Computers", 2015)

IT: Subject Matter Expert (Definitions)

"An expert on the subject of the area on which the data analysis or mining exercise is focused." (Glenn J Myatt, "Making Sense of Data: A Practical Guide to Exploratory Data Analysis and Data Mining", 2006)

"SME is an acronym used to refer to people who understand and can explain information related to a knowledge domain. SMEs may be technically or business-oriented." (Laura Sebastian-Coleman, "Measuring Data Quality for Ongoing Improvement ", 2012)

"The subject matter expert is the business representative with the required understanding of the existing business environments and of the requirements." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

"An individual with a large amount of knowledge about one or more areas of subject matter in an organization." (Margaret Y Chu, "Blissful Data ", 2004)

"A person with significant experience and knowledge of a given topic or function." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A person with deep knowledge of a particular topical area. SMEs can be useful in the consultation phase of the taxonomy design process." (Robert F Smallwood, "Managing Electronic Records: Methods, Best Practices, and Technologies", 2013)

"A person, usually an accomplished performer, who knows the knowledge, performance, and personal competence required for a given unit of competence." (Project Management Institute, "Project Manager Competency Development Framework" 3rd Ed., 2017)

"The individuals who are brought on to the project as needed based on their subject matter expertise." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"IT professionals within a vendor organisation who have expertise in their field and are often used by a training team to deliver advanced topics to students or assist in content development. " (BCS Learning & Development Limited, "CEdMA Europe", 2019)

15 December 2005

IT: Peer-to-Peer Network (Definitions)

[peer-to-peer computing:] "Users loosely connected through online connections that enable them to share data and programs." (Greg Perry, "Sams Teach Yourself Beginning Programming in 24 Hours 2nd Ed.", 2001)

[peer-to-peer computing:] "A distributed computing model in which each node has equal standing among the collection of nodes. In the most typical usage of this term, the same capabilities are offered by each node, and any node can initiate a communication session with another node. This contrasts with, for example, client-server computing. The capabilities that are shared in peer-to-peer computing include file-sharing as well as computation." (Beverly A Sanders, "Patterns for Parallel Programming", 2004)

"A network comprised of individual participants that have equal capabilities and duties." (Andy Walker, "Absolute Beginner’s Guide To: Security, Spam, Spyware & Viruses", 2005)

"A blanket term used to describe: (1) a peer-centric distributed software architecture, (2) a flavor of software that encourages collaboration and file sharing between peers, and (3) a cultural progression in the way humans and applications interact with each other that emphasizes two way interactive 'conversations' in place of the Web’s initial television-like communication model (where information only flows in one direction)." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"A networking system in which nodes in a network exchange data directly instead of going through a central server. " (Marcia Kaufman et al, "Big Data For Dummies", 2013)

"A network where all computers can both share and acces resources from other computers on the same network; a decentralized network." (Faithe Wempen, "Computing Fundamentals: Introduction to Computers", 2015)

"A type of network in which a group of personal computers is interconnected so that the hard disks, CD ROMs, files, and printers of each computer can be accessed from every other computer on the network. Peer-to-peer networks do not have a central file server. This type of system is used if less than a dozen computers will be networked." (James R Kalyvas & Michael R Overly, "Big Data: A Businessand Legal Guide", 2015)

"A decentralized network where participants have equal privileges and make certain resources directly available to other network participants." (AICPA)

14 December 2005

IT: Cluster/Clustering (Definitions)

"Technology that enables you to create a hot spare. That is a server that is actually running and can take over immediately. This technology enables you to mirror an entire server to another computer." (Owen Williams, "MCSE TestPrep: SQL Server 6.5 Design and Implementation", 1998)

"The use of multiple computers to provide increased reliability, capacity, and management capabilities." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"Grouping data together on the same disk page to improve retrieval performance." (Jan L Harrington, "Relational Database Dessign: Clearly Explained" 2nd Ed., 2002)

"Any collection of distinct computers that are connected and used as a parallel computer, or to form a redundant system for higher availability. The computers in a cluster are not specialized to cluster computing and could, in principle, be used in isolation as standalone computers. In other words, the components making up the cluster, both the computers and the networks connecting them, are not custom-built for use in the cluster." (Beverly A Sanders, "Patterns for Parallel Programming", 2004)

"Connecting two or more computers in such a way that they behave like a single computer to an application or client. Clustering is used for parallel processing, load balancing, and fault tolerance." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

[server cluster:] "The type of Windows Clustering that provides availability only. It is a collection of nodes that allow resources to be failed over to another node in the event of a problem. SQL Server 2000 failover clustering is installed and configured on top of a server cluster." (Allan Hirt et al, "Microsoft SQL Server 2000 High Availability", 2004)

"A group of computers linked via a LAN and working together to form the equivalent of a single computer." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

[failover cluster:] "A group of servers that are in one location and that are networked together for the purpose of providing live backup in case one of the servers fails." (Microsoft, "SQL Server 2012 Glossary", 2012)

"A set of computers with distributed memory communicating over a high-speed interconnect. The individual computers are often called nodes." (Michael McCool et al, "Structured Parallel Programming", 2012)

"A group of servers connected by a network and configured in such a way that if the primary server fails, a secondary server takes over." (IBM, "Informix Servers 12.1", 2014)

"A cluster is a set of servers configured to function together. Servers sometimes have differentiated functions and sometimes they do not." (Dan Sullivan, "NoSQL for Mere Mortals®", 2015)

"A collection of complete systems that work together to provide a single, unified computing capability." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

[failover clustering:] "A network of two or more interconnected servers that redirects an overloaded or failed resource to maintain system availability." (Microsoft Technet)

13 December 2005

IT: Component Object Model (Definitions)

"The programming model on which several SQL Server and database application programming interfaces (APIs), such as SQL-DMO, OLE DB, and ADO, are based." (Microsoft Corporation, "SQL Server 7.0 System Administration Training Kit", 1999)

"A group of conventions and specifications that let you create interactions between software components in a structured object-oriented way." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"A binary standard that enables objects to interoperate in a networked environment regardless of the language in which they were developed or on which computers they reside. COM-based technologies include ActiveX Controls, Automation, and object linking and embedding (OLE). COM allows an object to expose its functionality to other components and to host applications. It defines both how the object exposes itself and how this exposure works across processes and across networks. COM also defines the object's life cycle." (Microsoft)

"A mechanism in Windows whereby an application can be registered with the operating system, thereby enabling other applications to call it. The application is given a numeric key, which is stored in the registry together with the application's location. A client calls the application by calling the key." (Microfocus)

"An object-based programming model designed to promote software interoperability; it allows two or more applications or components to easily cooperate with one another, even if they were written by different vendors, at different times, in different programming languages, or if they are running on different computers running different operating systems. OLE technology and ActiveX are both built on top of COM." (Microsoft Technet)

"An object-oriented programming model that defines how objects interact within a single process or between processes. In COM, clients have access to an object through interfaces implemented on the object." (Microsoft)

"Microsoft's architecture for creating objects with standard binary interfaces for the desktop." (Microfocus)

12 December 2005

IT: Legacy System (Definitions)

"A production system that was designed for technology assumptions that are no longer valid or expected to become invalid in the foreseeable future." (Atul Apte, "Java Connector Architecture: Building Custom Connectors and Adapters", 2002)

"Systems that have been inherited from languages, platforms, and techniques earlier than current technology." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A system in operational use that must be sustained. Sustainment is challenging for such systems due to obsolete technology, poor structure, outdated and incomplete documentation, and lack of people with the necessary knowledge and skills." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"An existing data creation, management, and reporting system in a company generally still in use." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling" 2nd Ed., 2005)

"A database or application using an out-of-date database engine or application tools. Some legacy systems can be as much as 30, or even 40 years old." (Gavin Powell, "Beginning Database Design", 2006)

"A mature system that serves ongoing needs. Legacy systems are often old, monolithic systems, built using older design approaches and older technologies." (Bruce MacIsaac & Per Kroll, "Agility and Discipline Made Easy: Practices from OpenUP and RUP", 2006)

"An information system that has been developed and modified over a period of time and has become outdated and difficult and costly to maintain but that holds important information and involves processes that are deeply ingrained in an organization. Legacy systems usually are eventually replaced by a new hardware and software configuration." (J P Getty Trust, "Introduction to Metadata" 2nd Ed., 2008)

"Old computer applications on disparate platforms, supported by outdated database systems that are still in use in many companies, as legacies from the past." (Paulraj Ponniah, "Data Warehousing Fundamentals for IT Professionals", 2010)

"Term used to describe the original financial system when implementing a new financial system." (Janice M Roehl-Anderson, "IT Best Practices for Financial Managers", 2010)

"An application implemented outside of, or from a prior version of, an organization’s application architecture. Usually an older application that may be slated for eventual replacement. Legacy systems are often frustrating because they are difficult to change, few people know exactly what they do and how they do it, and/or the technology on which they are dependent is becoming obsolete and unsupportable." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Application that has been used for a long period of time and that has been inherited from languages, platforms, and techniques used in earlier technologies." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"The older systems used to run the business of the corporation as it was defined 10 or 20 years ago" (Daniel Linstedt & W H Inmon, "Data Architecture: A Primer for the Data Scientist", 2014)

"A legacy system is a business solution that has a few common characteristics with current solutions in the market, such as being based on outdated technology or design, being incompatible or difficult and costly to integrate with current systems, and a potential inability of being purchased from vendors because it is unavailable and discontinued." (Microsoft Learning, "Migrate data and go live with Finance and Operations apps", 2020)

"An old system, technology or computer system that is not supported any more." (Analytics Insight)

11 December 2005

IT: Transmission Control Protocol/ Internet Protocol (Definitions)

"A protocol for connecting to the Internet or other network hosts. The primary protocol for Unix networks." (Patrick Dalton, "Microsoft SQL Server Black Book", 1997)

"An industry standard suite of protocols and applications that is used for communicating among different computers." (Owen Williams, "MCSE TestPrep: SQL Server 6.5 Design and Implementation", 1998)

"A low-level language describing the way that data flows across one or more networks (such as the Internet)." (Bill Pribyl & Steven Feuerstein, "Learning Oracle PL/SQL", 2001)

"Communication protocol of the Internet, consisting of a transport layer (IP) and an application layer (TCP)." (Ralph Kimball & Margy Ross, "The Data Warehouse Toolkit" 2nd Ed., 2002)

"An industry standard network protocol used by most companies for internetworking computer equipment." (Thomas Moore, "EXAM CRAM™ 2: Designing and Implementing Databases with SQL Server 2000 Enterprise Edition", 2005)

"The networking protocol that supports communication across interconnected networks, between computers with diverse hardware architectures and various operating systems. This is generally regarded as the industry standard for computer and Internet connections." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling 2nd Ed.", 2005)

"Networking protocols common to most forms of networks. TCP provides for synchronous communications over IP." (Tom Petrocelli, "Data Protection and Information Lifecycle Management", 2005)

"An Internet-based network protocol that is used for communicating between network nodes." (Marilyn Miller-White et al, "MCITP Administrator: Microsoft® SQL Server™ 2005 Optimization and Maintenance 70-444", 2007)

"An abbreviation for Transmission Control Protocol/Internet Protocol, this standard makes up the foundation of most computer-to-computer communication across the Internet and on local networks." (Robert D Schneider & Darril Gibson, "Microsoft SQL Server 2008 All-in-One Desk Reference For Dummies", 2008)

"The ISO standardized suite of network protocols that enables information systems to communicate with other information systems on the Internet, regardless of their computer platforms." (J P Getty Trust, "Introduction to Metadata" 2nd Ed., 2008)

"The complex stack of communications protocols that underlies the Internet. All data is broken down into small packets that are sent independently over the network and reassembled at the final destination." (Judith Hurwitz et al, "Service Oriented Architecture For Dummies" 2nd Ed., 2009)

"Internet protocols created by U.S. Department of Defense to ensure and preserve data integrity and maintain communications in the event of catastrophic war." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"A protocol that provides reliable delivery of a stream of bytes from one computer to another. TCP provides reliable delivery of a stream of bytes from one computer to another." (Rod Stephens, "Start Here! Fundamentals of Microsoft .NET Programming", 2011)

"A set of standard protocols used to organize data sent across a network." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"Network standard that provides a reliable, error-checking, connection-oriented delivery method." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"A protocol wrapped around the Internet Protocol to make an unreliable packet transmission mechanism appear to the application program to be a reliable stream of bytes." (Jon Orwant et al, "Programming Perl" 4th Ed., 2012)

"A suite of protocols used on the Internet and in many local area networks. Individual protocols within TCP/IP are defined in formal documents called RFCs." (Darril Gibson, "Effective Help Desk Specialist Skills", 2014)

"A suite of protocols and programs that support low-level network communication" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"The basic protocol, or language, of modern networks and the Internet." (Weiss, "Auditing IT Infrastructures for Compliance" 2nd Ed, 2015)

"The major transport protocol in the Internet suite of protocols providing reliable, connection-oriented, full-duplex streams." (Adam Gordon, "Official (ISC)2 Guide to the CISSP CBK" 4th Ed., 2015)

"A reliable network protocol in which the transmitter and receiver engage in a handshake sequence, ensuring that there is a reliable channel and in which data received is checked against control data to ensure that it is received and received without errors." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"An industry-standard, nonproprietary set of communication protocols that provides reliable end-to-end connections between applications over interconnected networks of different types." (Sybase, "Open Server Server-Library/C Reference Manual", 2019)

"A connection-oriented, reliable protocol. One of the protocols on which the internet is based." (Daniel Leuck et al, "Learning Java" 5th Ed., 2020)

09 December 2005

IT: Management Information System (Definitions)

"A system created specifically to store and provide information to managers." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A computer-based or manual system that transforms data into information useful in the support of decision making." (Jae K Shim & Joel G Siegel, "Budgeting Basics and Beyond", 2008)

"A reporting or Business Intelligence system." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"The full range of information technology solutions required by a business to run its daily operations, support strategic planning and process improvement activities, and identify issues requiring management attention for their resolution. See Decision Support System for an example of one of the components of MIS." (Kenneth A Shaw, "Integrated Management of Processes and Information", 2013)

"The software applications and computer hardware systems in an enterprise that provide information for management decisions regarding its business operations. Also see Decision Support System." (Kenneth A Shaw, "Integrated Management of Processes and Information", 2013)

"Systems designed to provide past, present, and future routine information appropriate for planning, organizing, and controlling the operations of functional areas in an organization." (Linda Volonino & Efraim Turban, "Information Technology for Management 8th Ed", 2011)

IT: Information System (Definitions)

"Computerized or manual structure of procedures and records. (9-11)" (Leslie G Eldenburg & Susan K Wolcott, "Cost Management" 2nd Ed., 2011)

"An interconnected environment for managing and processing data using a computer." (Faithe Wempen, "Computing Fundamentals: Introduction to Computers", 2015)

"Software that helps the user organize and analyze data" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"1.Generally, an automated or manual organized process for collecting, manipulating, transmitting, and disseminating information. SEE ALSO application. 2.In data management, a system that supports decision-making concerning some piece of reality (the object system) by giving decision-makers access to information concerning relevant aspects of the object system and its environment." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A physical process that supports an organization by collecting, processing, storing, and analyzing data, and disseminating information to achieve organizational goals." (Linda Volonino & Efraim Turban, "Information Technology for Management" 8th Ed., 2011)

"A system that provides for data collection, storage, and retrieval; facilitates the transformation of data into information and the management of both data and information. An information system is composed of hardware, software (DMBS and applications), the database(s), people, and procedures." (Carlos Coronel et al, "Database Systems: Design, Implementation, and Management 9th Ed", 2011)

"The varied manual and automated communication mechanisms within an organization that store, process, disseminate, and sometimes even analyze information for those who need it." (Joan C Dessinger, "Fundamentals of Performance Improvement 3rd Ed", 2012)

"System that supports enterprise activities." (Gilbert Raymond & Philippe Desfray, "Modeling Enterprise Architecture with TOGAF", 2014)

04 December 2005

IT: Expert System (Definitions)

"A data processing system composed of a knowledge base (rules), an inference engine, and a working memory." (Joseph P Bigus, "Data Mining with Neural Networks: Solving Business Problems fromApplication Development to Decision Support", 1996)

"A computer system that tries to simulate a human expert. A search tree and method of traversal in artificial intelligence. The expert provides her knowledge as if-then rules and a programmer codes these in software. Expert systems define a large logic tree or several small trees. The expert system has two parts: the knowledge base and the inference engine. The knowledge base is just the tree or trees of bivalent rules. The inference engine is some scheme for reasoning or 'chaining' the rules. Fuzzy systems are a type of expert system since they too store knowledge as rules, but as fuzzy rules or fuzzy patches. Expert systems work with black-white logic and symbols. Fuzzy systems work with fuzzy sets and have a numerical or mathematical basis that permits both mathematical analysis and simple chip design." (Guido Deboeck & Teuvo Kohonen (Eds), "Visual Explorations in Finance with Self-Organizing Maps 2nd Ed.", 2000)

"A computer program that has a deep understanding of a topic, and can simulate a human expert, asking and answering questions and making decisions." (Craig F Smith & H Peter Alesso, "Thinking on the Web: Berners-Lee, Gödel and Turing", 2008)

"An artificial intelligence system driven by rules based on the skills and experience of one or more experts in a given field, so the system processes information the same way an expert person does. Expert systems are deterministic, versus neural networks, which are non-deterministic." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A software system based on the knowledge of human experts" (Nell Dale & John Lewis, "Computer Science Illuminated" 6th Ed., 2015)

"Fall under the computer applications category of artificial intelligence. Composed of a knowledge base, an inference system, and a human machine interface." (Joan C Dessinger, "Fundamentals of Performance Improvement 3rd Ed", 2012)

"A computer system that emulates the decision-making ability of a human expert. Inference in expert systems applies logical rules to a knowledge base and deduces new knowledge from it." (Accenture)

01 December 2005

IT: Data Models (Definitions)

"A system data model is a collection of the information being addressed by a specific system or function such as a billing system, data warehouse, or data mart. The system model is an electronic representation of the information needed by that system. It is independent of any specific technology or DBMS environment." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

"The business data model, sometimes known as the logical data model, describes the major things ('entities') of interest to the company and the relationships between pairs of these entities. It is an abstraction or representation of the data in a given business environment, and it provides the benefits cited for any model. It helps people envision how the information in the business relates to other information in the business ('how the parts fit together')." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

"The technology data model is a collection of the specific information being addressed by a particular system and implemented on a specific platform." (Claudia Imhoff et al, "Mastering Data Warehouse Design", 2003)

[enterprise data model:] "A high-level, enterprise-wide framework that describes the subject areas, sources, business dimensions, business rules, and semantics of an enterprise." (Sharon Allen & Evan Terry, "Beginning Relational Data Modeling 2nd Ed.", 2005)

[canonical data model:] "The definition of a standard organization view of a particular information subject. To be practical, canonical data models include a mapping back to each application view of the same subject." (David Lyle & John G Schmidt, "Lean Integration", 2010)

[hierarchical data model:] "A data model that represents data in a tree-like structure of only one-to-many relationships, where each entity may have a ‘many’ side when related to a parent, and a ‘one’ side when related to a child." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[Enterprise Data Model (EDM):] "A conceptual data model or logical data model providing a common consistent view of shared data across the enterprise, however that is defined, at a point in time. It is common to use the term to mean a high-level, simplified data model, but that is a question of abstraction for presentation." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[network data model:] "A representation of objects and their participation in one or more owner-member sets. In such a model, a both owners and members may participate in multiple sets, affecting a network of objects and relationships." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

[enterprise data model:] "A single data model that comprehensively describes the data needs of the entire organization." (Craig S Mullins, "Database Administration", 2012)

[generic data model:] "A data model of an industry, rather than of a specific company; a generic data model can be used as a template that can be customized for a given company within the industry that has been modeled." (Daniel Linstedt & W H Inmon, "Data Architecture: A Primer for the Data Scientist", 2014)

[corporate data model:] "A data model at the corporate level for the core business objects and their relationship with each other, which is based on the core business object model." (Boris Otto & Hubert Österle, "Corporate Data Quality", 2015)

[Enterprise data model:] "The enterprise data model in many literatures and viewpoints is considered to be a single, standalone unified artifact that describes all data entities and data attributes and their relationships across the enterprise. In most cases this model is combined with the ambition to consolidate all data in an enterprise data warehouse (EDW)." (Piethein Strengholt, "Data Management at Scale", 2020)

IT: System (Definitions)

"A combination of components working together. For example, a computer system includes both hardware and software." (Timothy J  Kloppenborg et al, "Project Leadership", 2003)

"A part of the world that is the subject of a model, communication, or reasoning. In the context of this book the word system is most commonly used for a software system." (Anneke Kleppe et al, "MDA Explained: The Model Driven Architecture: Practice and Promise", 2003)

"A collection of interrelated components that operate together to achieve some desired function, and support organizational mission or business objectives. A system may include software, hardware, and operational data. A system is operated by people. The word system often connotes a large product designed to meet the needs of a particular group of users." (Richard D Stutzke, "Estimating Software-Intensive Systems: Projects, Products, and Processes", 2005)

"An integrated group of subsystems, subassemblies, and components that make up a functioning unit that harmonizes the mass, energy and information flows, and transformations of the elements to provide an overall product output that fulfills the customer-based requirements." (Clyde M Creveling, "Six Sigma for Technical Processes: An Overview for R Executives, Technical Leaders, and Engineering Managers", 2006)

"[...] a business system (not just the computer or the software system)." (Suzanne Robertson & James Robertson, "Mastering the Requirements Process" 2nd Ed., 2006)

"Product or product component that in turn consists of interacting subsystems." (Lars Dittmann et al, "Automotive SPICE in Practice", 2008)

"A system is a compound entity (i.e. has parts within) that produces results above and beyond the sum of the contributions of its parts. Systems produce results determined by their structure. Systems mayor may not have been consciously designed." (Aldo Romano & Giustina Secundo (Eds.),, "Dynamic Learning Networks: Models and Cases in Action", 2009)

"A combination of hardware, software, and data devices." (Janice M Roehl-Anderson, "IT Best Practices for Financial Managers", 2010)

"A mechanism type that consists of one or more linked computers, along with associated software." (David C Hay, "Data Model Patterns: A Metadata Map", 2010)

"A set of interacting or interdependent computer hardware and software components forming an integrated unit. In this book, the terms system and application are often used interchangeably. A business system supports capabilities in a particular business domain (such as finance, marketing, manufacturing, sales, etc.), whereas an integration system supports capabilities in a particular integration discipline (such as data integration, process integration, data quality, business intelligence, etc.). See also the definition for system-of-systems." (David Lyle & John G Schmidt, "Lean Integration", 2010)

"An interacting and interdependent group of component items forming a unified whole to achieve a common purpose." (DAMA International, "The DAMA Dictionary of Data Management", 2011)

"A system is a set of connected things forming a complex whole (NOAD). Systems are often understood as mechanisms, but they can also comprise a set of principles or a method for doing things. In modern organizations, the term system is used to refer to information technology applications that carry out work needed by an organization. An example is a system for processing claims or one for inventorying products." (Laura Sebastian-Coleman, "Measuring Data Quality for Ongoing Improvement ", 2012)

"Connecting aspects of a complex whole; interconnectedness; interdependence." (Joan C Dessinger, "Fundamentals of Performance Improvement 3rd Ed", 2012)

"A collection of various components that together can produce results not obtainable by the components alone." (Project Management Institute, "Navigating Complexity: A Practice Guide", 2014)

"A collection of components that operate together to achieve a larger function." (O Sami Saydjari, "Engineering Trustworthy Systems: Get Cybersecurity Design Right the First Time", 2018)

"A system is a framework that orders and sequences activity within the organisation to achieve a purpose within a band of variance that is acceptable to the owner of the system.  Systems are the organisational equivalent of behaviour in human interaction. Systems are the means by which organisations put policies into action.  It is the owner of a system who has the authority to change it, hence his or her clear acceptance of the degree of variation generated by the existing system." (Catherine Burke et al, "Systems Leadership" 2nd Ed., 2018)

"An integrated set of regularly interacting or interdependent components created to accomplish a defined objective, with defined and maintained relationships among its components, and the whole producing or operating better than the simple sum of its components." (Project Management Institute, "Practice Standard for Scheduling"  3rd Ed., 2019)

"A collection of components organized to accomplish a specific function or set of functions." (IEEE 610)

20 November 2005

Database Management: Who's gonna rule the world?

Database Management
Database Management Series

This morning I started to read an article from Information Week about the future of database administrators, as it seems they will rule the world, at least the world of data. It's not a joke, their role will become more and more important over the next years, why this? 

 1. Databases become bigger and more complex      
The size and complexity of databases is increasing from year to year, same their importance in making faster decision based on current or historical data. The bigger the size and complexity, bigger also the need for ad-hoc or one mouse click reports, and who’s the person who has the knowledge and resources to do this?! 

2. Data mining      
Historical data doesn't resume only to simple reporting, but data mining is becoming more popular, having as purpose the discovery of trends in the business, facilitating somehow predictions for business' future.     

Let’s not forget that the big players on the database market started to offer data mining solutions, incorporated or not in their database platforms, the data mining features are a start in providing new views over the data.      

Big companies will opt probably for data analysts, but for medium-sized and small companies, the role of a data analyst could be easily taken by a database administrator. 

3. The knowledge that matters      
Even if databases are backend for complex UI, in time, if not immediately, the database administrator becomes aware of underlaying overall structure of the database and, why not, leaded by curiosity or business' requirements he becomes aware of the content of the data. Even if is a paradox, the database administrator has sometimes more data knowledge than a manager and the skills to do with data that magic that is important for managers. 

4. Data Cleansing      
More and more companies are becoming aware of the outliers from their data, so data cleansing is becoming a priority, and again the database administrator has an important role in this process. 

5. Database Security      
Database platforms are growing, unfortunately the same thing happens with their security holes and the number of attacks. A skilled database administrator must have the knowledge to overcome these problems and solve the issues as soon as possible. 

6. Training      
Even if can be considered a consequence of the previously enumerated facts, it deserves to be considered separately. Companies are starting to realize how important it to have a skilled database administrator, so probably they will provide the requested training or help the DBA to achieve this. 

 7. On site/offshore compromise      
If in the past years, has been popular the concept of off shoring people, including database administrators; probably soon companies will become aware that reducing direct maintenance costs doesn’t mean a reduction of overall costs, which may contain also indirect costs. The delayed response time generated by communication issues, availability or resources plays an important role in the increase indirect costs, most of the big companies will be forced then to opt for a compromise between on site and offshore.      

In this case the direct benefit for a database administrator is not so obvious, except for the financial benefit there is also an image advantage, even if is disregarded, the image and the fact a person is not anymore isolated is important.

Reviewing the post almost 20 years later with the knowledge of today, I can just smile. Besides data analysts, the DBAs were at that time the closest to the data. Probably, many DBAs walked the new paths created by the various opportunities. Trying to uncover the unknown through the known is a foolish attempt, but it’s the best we can do to prepare us for what comes next.

Created: Nov-2005, Last Reviewed: Mar-2024

19 November 2005

SQL Reloaded: Cursors and Lists

    I found cursors really useful when the set-based logic provided by a query make it difficult to solve special types of problems (e.g. concatenate in a list the values returned by a select, multiple updates/insert/deletions based on the success or failure of previous logic). Cursors are relatively easy to write though lot of code is redundant from one solution to another. Therefore, I prefer to have the simplest code and then modify it according to new requirements.   

   Here's a simple example of a function that returns a list of emails:

--creating the sample table
CREATE TABLE EmailAddresses(ID int, Email varchar(50))

--insert test records
INSERT EmailAddresses
VALUES (1, 'John.Travolta@star.com')
INSERT EmailAddresses
VALUES (2, 'Robert.DeNiro@star.com')
INSERT EmailAddresses
VALUES (3, 'MegRyan@star.com')
INSERT EmailAddresses
VALUES (4, 'Helen.Hunt@star.com')
INSERT EmailAddresses
VALUES (5, 'Jodie.Foster@star.com')

-- creating the function 
CREATE FUNCTION dbo.GetEmails()
RETURNS varchar(1000)
/*
Purpose: returns a list of Emails
Parameters:
Notes:
Sample: SELECT dbo.GetEmails() AS ListEmails
*/
AS
BEGIN
   DECLARE @Email varchar(50)
   DECLARE @Emails varchar(1000)

   SET @Emails = ''

   -- Create Emails Cursor
   DECLARE Emails CURSOR FOR
   SELECT Email
   FROM EmailAddresses
   ORDER BY Email

   OPEN Emails -- Open Emails Cursor

   --fetch first set of records from Emails Cursor
   FETCH NEXT FROM Emails
   INTO @Email

   WHILE @@FETCH_STATUS = 0 --if the fatch was successful
   BEGIN
      SET @Emails = @Emails + @Email + ','

      --fetch next set of records from Emails Cursor
      FETCH NEXT FROM Emails
      INTO @Email
   END

   CLOSE Emails -- close Emails cursor
   DEALLOCATE Emails --deallocate Emails cursor

   --remove the extra comma
   IF Len(@Email)>0
      SET @Emails = Left(@Emails, Len(@Emails)-1)

   RETURN @Emails
END
 
--testing the function
SELECT dbo.GetEmails()

Notes:
The code was tested on SQL Server 2000 till 2017.
The logic from dbo.GetList function can use as source any other table as long the length of the target column is less than 50 characters as the @Result was defined as varchar(50).

     Exploring the above idea, what if the content of the query is not known until runtime and all is known is that only one column of data is returned? This could be achieved with the help of a table data type:

--creating the source table
CREATE TABLE Countries(ID int, Country varchar(50))

--insert test records
INSERT Countries
VALUES (1, 'US')
INSERT Countries
VALUES (2, 'UK')
INSERT Countries
VALUES (3, 'Germany')
INSERT Countries
VALUES (4, 'Spain')
INSERT Countries
VALUES (5, 'France')

 
-- creating the function 
CREATE FUNCTION dbo.GetList(
@Query varchar(250))
RETURNS varchar(1000)
/*
Purpose: returns a list of List
Parameters:
Notes:
Sample: SELECT dbo.GetList('SELECT Country FROM Countries ORDER BY Country') AS List
*/

AS
BEGIN
   DECLARE @Result varchar(50)
   DECLARE @List varchar(1000)
   DECLARE @Temp TABLE (Val varchar(10))

   SET @List = ''

   --insert in a table data type the results returned by query
   INSERT @Temp
   EXEC (@Query)

   -- Create List Cursor
   DECLARE List CURSOR FOR
   SELECT Val
   FROM @Temp

   OPEN List -- Open List Cursor

   --fetch first set of records from List Cursor
   FETCH NEXT FROM List
   INTO @Result

   WHILE @@FETCH_STATUS = 0 --if the fatch was successful
   BEGIN
      SET @List = @List + @Result + ','

      --fetch next set of records from List Cursor
      FETCH NEXT FROM List
      INTO @Result
   END

   CLOSE List -- close List cursor
   DEALLOCATE List --deallocate List cursor

   --remove the extra comma
   IF Len(@Result)>0
      SET @List = Left(@List, Len(@List)-1)

   RETURN @List
END

--testing the function 
SELECT dbo.GetList('SELECT Country FROM Countries ORDER BY Country') AS List

Result: List --------------------------
France,Germany,Spain,UK,US (1 row(s) affected)   

   Instead of using a query one can use a stored procedure as well. Here's the stored procedure and the example that calls it:

--creating the stored procedure
CREATE PROCEDURE dbo.pListCountries
AS
SELECT Country
FROM Countries
ORDER BY Country
 
--testing the function
SELECT dbo.GetList('dbo.pListCountries') AS List

Result: List
--------------------------
France,Germany,Spain,UK,US (1 row(s) affected)  

Notes:
As it seems the above code stopped working between the next editions of SQL Server.
Related Posts Plugin for WordPress, Blogger...

About Me

My photo
IT Professional with more than 24 years experience in IT in the area of full life-cycle of Web/Desktop/Database Applications Development, Software Engineering, Consultancy, Data Management, Data Quality, Data Migrations, Reporting, ERP implementations & support, Team/Project/IT Management, etc.