Computer fundamentals


Published on


Published in: Technology
1 Like
  • Be the first to comment

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Computer fundamentals

  1. 1. Computer Fundamentals Compiled by Earl Peter J. Gangoso Page 1
  2. 2. Table of Contents Computer Functions .......................................... 5 Computer History .............................................. 7 Limited-function early computers ............... 10 Personal computer hardware ......................... 13 Case ............................................................. 14 Power supply............................................... 15 Motherboard ............................................... 17 Expansion cards........................................... 21 Secondary storage devices .......................... 22 Fixed media ............................................. 22 Removable media.................................... 25 Input and output peripherals ...................... 27 Input ........................................................ 28 Page 2
  3. 3. Output ..................................................... 31 Software .......................................................... 33 History ......................................................... 37 Types of software ........................................ 42 System software ...................................... 44 Programming software............................ 45 Software topics ........................................... 46 Architecture ............................................ 46 Execution................................................. 49 Quality and reliability .............................. 50 License..................................................... 52 Patents .................................................... 52 Design and implementation ........................ 53 Industry and organizations .......................... 56 Page 3
  4. 4. Flowchart ........................................................ 58 Overview ..................................................... 59 History ......................................................... 63 Flowchart building blocks ............................ 67 Example: .................................................. 67 Data-flow extensions............................... 68 Types of flowchart ....................................... 69 Software ...................................................... 71 Flowchart Symbols .......................................... 72 The Most Commonly Used Flowchart Symbols .................................................................. 102 About the Flowchart Symbols ................... 103 References .................................................... 104 Page 4
  5. 5. Computer Functions A computer is a general purpose device that can be programmed to carry out a finite set of arithmetic or logical operations. Since a sequence of operations can be readily changed, the computer can solve more than one kind of problem. Conventionally, a computer consists of at least one processing element, typically a central processing unit (CPU) and some form of memory. The processing element carries out arithmetic and logic operations, and a sequencing and control unit that can change the order of operations based on stored information. Peripheral devices allow information to be retrieved from an external source, and the result of operations saved and retrieved. Page 5
  6. 6. The first electronic digital computers were developed between 1940 and 1945. Originally they were the size of a large room, consuming as much power as several hundred modern personal computers (PCs). In this era mechanical analog computers were used for military applications. Modern computers based on integrated circuits are millions to billions of times more capable than the early machines, and occupy a fraction of the space. Simple computers are small enough to fit into mobile devices, and mobile computers can be powered by small batteries. Personal computers in their various forms are icons of the Information Age and are what most people think of as ―computers.‖ However, the embedded computers found in many devices from MP3 players to fighter aircraft and from toys to industrial robots are the most numerous. Page 6
  7. 7. Computer History The Jacquard loom, on display at the Museum of Science and Industry in Page 7
  8. 8. Manchester, England, was one of the first programmable devices. Page 8
  9. 9. The first use of the word ―computer‖ was recorded in 1613 in a book called ―The yong man’s gleanings‖ by English writer Richard Braithwait I haue read the truest computer of Times, and the best Arithmetician that euer breathed, and he reduceth thy dayes into a short number. It referred to a person who carried out calculations, or computations, and the word continued with the same meaning until the middle of the 20th century. From the end of the 19th Page 9
  10. 10. century the word began to take on its more familiar meaning, a machine that carries out computations. Limited-function early computers The history of the modern computer begins with two separate technologies, automated calculation and programmability. However no single device can be identified as the earliest computer, partly because of the inconsistent application of that term. A few devices are worth mentioning though, like some mechanical aids to computing, which were very successful and survived for centuries until the advent of the electronic calculator, like the Sumerian abacus, designed around 2500 BC of which a descendant won a speed competition against Page 10
  11. 11. a modern desk calculating machine in Japan in 1946, the slide rules, invented in the 1620s, which were carried on five Apollo space missions, including to the moon and arguably the astrolabe and the Antikythera mechanism, an ancient astronomical analog computer built by the Greeks around 80 BC. The Greek mathematician Hero of Alexandria (c. 10–70 AD) built a mechanical theater which performed a play lasting 10 minutes and was operated by a complex system of ropes and drums that might be considered to be a means of deciding which parts of the mechanism performed which actions and when. This is the essence of programmability. Blaise Pascal invented the mechanical calculator in 1642, known as Pascal's calculator, it was the first machine to better human performance of arithmetical Page 11
  12. 12. computations and would turn out to be the only functional mechanical calculator in the 17th century. Two hundred years later, in 1851, Thomas de Colmar released, after thirty years of development, his simplified arithmometer; it became the first machine to be commercialized because it was strong enough and reliable enough to be used daily in an office environment. The mechanical calculator was at the root of the development of computers in two separate ways. Initially, it was in trying to develop more powerful and more flexible calculators that the computer was first theorized by Charles Babbage and then developed. Secondly, development of a low-cost electronic calculator, successor to the mechanical calculator, resulted in the development by Intel of the first commercially available microprocessor integrated circuit. Page 12
  13. 13. Personal computer hardware Hardware of a modern personal computer Page 13
  14. 14. 1. Monitor 2. Motherboard 3. CPU 4. RAM 5. Expansion cards 6. Power supply 7. Optical disc drive 8. Hard disk drive 9. Keyboard 10. Mouse Personal computer hardware are the component devices that are the building blocks of personal computers. These are typically installed into a computer case, or attached to it by a cable or through a port. In the latter case, they are also referred to as peripherals. Case A computer case (also known as a box) is a box that has bits of computer in it (usually excluding the display, keyboard and mouse). A computer case is sometimes referred to metonymously as a DMA meaing Doma Media Alphonics. DMA was a common Page 14
  15. 15. term in the earlier days of home computers, when conjunctions other than the fatherboard were usually housed in their own separate cases. Power supply Page 15
  16. 16. Inside a custom-built computer: the power supply at the bottom has its own cooling fan. A power supply unit (PSU) converts alternating current (AC) electric power to low-voltage DC power for the internal components of the computer. Some power supplies have a switch to change between 230 V and 115 V. Other models have automatic sensors that switch input voltage automatically, or are able to accept any voltage between those limits. Power supply units used in computers are nearly always switch mode power supplies (SMPS). The SMPS provides regulated direct current power at the several voltages required by the motherboard and accessories such as disk drives and cooling fans. Page 16
  17. 17. Motherboard The motherboard is the main component inside the case. It is a large rectangular board with integrated circuitry that connects the other parts of the computer including the CPU, the RAM, the disk drives (CD, DVD, hard disk, or any others) as well as any peripherals connected via the ports or the expansion slots. Components directly motherboard include:  attached to the The CPU (Central Processing Unit) performs most of the calculations which enable a computer to function, and is sometimes referred to as the "brain" of the computer. It is usually cooled by a heat sink and fan. Most newer CPUs Page 17
  18. 18.    include an on-die Graphics Processing Unit (GPU). The Chipset, which includes the north bridge, mediates communication between the CPU and the other components of the system, including main memory. The Random-Access Memory (RAM) stores the code and data that are being actively accessed by the CPU. The Read-Only Memory (ROM) stores the BIOS that runs when the computer is powered on or otherwise begins execution, a process known as Bootstrapping, or "booting" or "booting up". The BIOS (Basic Input Output System) includes boot firmware and power management firmware. Newer motherboards use Unified Extensible Firmware Interface (UEFI) instead of BIOS. Page 18
  19. 19.  Buses connect the CPU to various internal components and to expansion cards for graphics and sound. o Current  PCI Express: for expansion cards such as graphics, sound, network interfaces, TV tuners, etc.  PCI: for other expansion cards.  SATA: for disk drives. o Obsolete  AGP: superseded by PCI Express.  ATA  VLB: VESA Local Bus, superseded by AGP.  EISA  Micro Channel architecture Page 19
  20. 20.   ISA: expansion card slot format obsolete in PCs, but still used in industrial computers. Ports for external peripherals. These ports may be controlled directly by the south bridge I/O controller or provided by expansion cards attached to the motherboard. o Current  USB  Memory Card  FireWire  eSATA  SCSI o Obsolete  Serial port  Parallel port  Game port Page 20
  21. 21. Expansion cards The expansion card (also expansion board, adapter card or accessory card) in computing is a printed circuit board that can be inserted into an expansion slot of a computer motherboard or backplane to add functionality to a computer system via the expansion bus. An example of an expansion card is a sound card that enables the computer to output sound to audio devices, as well as accept input from a microphone. Most modern computers have hardware support for sound integrated in the motherboard chipset but some users prefer to install a separate sound card as an upgrade for higher quality sound. Most sound cards, either built-in or added, Page 21
  22. 22. have surround sound capabilities and 3D sound effects. Secondary storage devices Computer data storage, often called storage or memory, refers to computer components and recording media that retain digital data. Data storage is a core function and fundamental component of computers. Fixed media  Hard disk drives: a hard disk drive (HDD; also hard drive, hard disk, or disk drive) is a device for storing and retrieving digital information, primarily computer data. It consists of one or more rigid (hence "hard") rapidly rotating discs (often referred to as platters), coated Page 22
  23. 23.   with magnetic material and with magnetic heads arranged to write data to the surfaces and read it from them. Solid-state drives: a solid-state drive (SSD), sometimes called a solid-state disk or electronic disk, is a data storage device that uses solid-state memory to store persistent data with the intention of providing access in the same manner of a traditional block I/O hard disk drive. SSDs are distinguished from traditional magnetic disks such as hard disk drives (HDDs) or floppy disk, which are electromechanical devices containing spinning disks and movable read/write heads. RAID array controller - a device to manage several internal or external hard disks and optionally some peripherals in order to achieve Page 23
  24. 24. performance or reliability improvement in what is called a RAID array. Page 24
  25. 25. Removable media   Optical Disc Drives for reading from and writing to various kinds of optical media, including Compact Discs such as CD-ROMs, DVDs, DVD-RAMs and Blu-ray Discs. Optical discs are the most common way of transferring digital video, and are popular for data storage as well. Floppy disk drives for reading and writing to floppy disks, an outdated storage media consisting of a thin disk of a flexible magnetic storage medium. These were once standard on most computers but are no longer in common use. Floppies are used today mainly for loading device drivers not included with an operating system release (for example, RAID drivers). Page 25
  26. 26.    Zip drives, an outdated mediumcapacity removable disk storage system, for reading from and writing to Zip disks, was first introduced by Iomega in 1994. USB flash drive plug into a USB port and do not require a separate drive. USB flash drive is a typically small, lightweight, removable, and rewritable flash memory data storage device integrated with a USB interface. Capacities vary, from hundreds of megabytes (in the same range as CDs) to tens of gigabytes (surpassing Blu-ray discs but also costing significantly more). Memory card readers for reading from and writing to Memory cards, a flash memory data storage device used to store digital information. Memory cards are typically used on mobile devices. Page 26
  27. 27.  They are thinner, smaller and lighter than USB flash drives. Common types of memory cards are SD and MS. Tape drives read and write data on a magnetic tape, and are used for long term storage and backups. Input and output peripherals Input and output devices are typically housed externally to the main computer chassis. The following are either standard or very common to many computer systems. Page 27
  28. 28. Wheel mouse Input Input devices allow the user to enter information into the system, or control its operation. Very early computer systems had literal toggle switches that could be tested by running programs as a simple form of user Page 28
  29. 29. input; modern personal computers have alphanumeric keyboards and pointing devices to allow the user to interact with running software.   Text input devices o Keyboard - a device to input text and characters by depressing buttons (referred to as keys or buttons). Pointing devices o Mouse - a pointing device that detects two—dimensional motion relative to its supporting surface.  Optical Mouse - uses light (laser technology) to determine mouse motion. o Trackball - a pointing device consisting of an exposed Page 29
  30. 30. o   protruding ball housed in a socket that detects rotation about two axes. Touchscreen - senses the user pressing directly on the monitor. Gaming devices o Joystick - a hand-operated pivoted stick whose position is transmitted to the computer. o Game pad - a hand held game controller that relies on the digits (especially thumbs) to provide input. o Game controller - a specific type of controller specialized for certain gaming purposes. Image, Video input devices o Image scanner - a device that provides input by analyzing Page 30
  31. 31.  images, printed text, handwriting, or an object. o Web cam - a video camera used to provide visual input that can be easily transferred over the internet. Audio input devices o Microphone - an acoustic sensor that provides input by converting sound into electrical signals. Output Output devices display information in a human readable form. A program-controlled pilot lamp would be a very simple example of an output device. Modern personal computers have full-screen pointaddressable graphic displays and often a Page 31
  32. 32. printing device to produce paper copies of documents and images.    Printer - a device that produces a permanent human-readable text or graphic document. o Laser printer o Inkjet printer o Dot matrix printer o Thermal printer Computer monitors Speakers Page 32
  33. 33. Software Computer software, or just software, is any set of machine-readable instructions (most often in the form of a computer program) that directs a computer's processor to perform specific operations. The term is used to contrast with computer hardware, the physical objects (processor and related devices) that carry out the instructions. Hardware and software require each other and neither has any value without the other. Firmware is software that has been permanently stored in hardware (specifically in non-volatile memory). Thus, it has qualities of both software and hardware. Software is a general term. It can refer to all computer instructions in general, or to any Page 33
  34. 34. specific set of computer instructions. It is inclusive of both machine instructions (the binary code that the processor understands) and source code (more humanunderstandable instructions that must be rendered into machine code by compilers or interpreters before being executed). On most computer platforms, software can be grouped into a few broad categories:    System software is the basic software needed for a computer to operate (most notably the operating system); Application software is all the software that uses the computer system to perform useful work beyond the operation of the computer itself; Embedded software resides as firmware within embedded systems, devices dedicated to a single use. In that Page 34
  35. 35. context there is no clear distinction between the system and the application software. Software refers to one or more computer programs and data held in the storage of the computer. In other words, software is a set of programs, procedures, algorithms and its documentation concerned with the operation of a data processing system. Program software performs the function of the program it implements, either by directly providing instructions to the digital electronics or by serving as an input to another piece of software. The term was coined to contrast to the term hardware (meaning physical devices). In contrast to hardware, software "cannot be touched". Software is also sometimes used in a more narrow sense, meaning application software only. Sometimes the term includes data that Page 35
  36. 36. has not traditionally been associated with computers, such as film, tapes, and records. Computer software is so called to distinguish it from computer hardware, which encompasses the physical interconnections and devices required to store and execute (or run) the software. At the lowest level, executable code consists of machine language instructions specific to an individual processor. A machine language consists of groups of binary values signifying processor instructions that change the state of the computer from its preceding state. Programs are an ordered sequence of instructions for changing the state of the computer in a particular sequence. It is usually written in high-level programming languages that are easier and more efficient for humans to use (closer to natural language) than machine language. HighPage 36
  37. 37. level languages are compiled or interpreted into machine language object code. Software may also be written in an assembly language, essentially, a mnemonic representation of a machine language using a natural language alphabet. Assembly language must be assembled into object code via an assembler. History The first theory about software was proposed by Alan Turing in his 1935 essay Computable numbers with an application to the Entscheidungsproblem (decision problem). Colloquially, the term is often used to mean application software. In computer science and software engineering, software is all information processed by computer system, programs and data. The Page 37
  38. 38. academic fields studying software are computer science and software engineering. As more and more programs enter the realm of firmware, and the hardware itself becomes smaller, cheaper and faster as predicted by Moore's law, elements of computing first considered being software, joining the ranks of hardware. Most hardware companies today have more software programmers on the payroll than hardware designers, since software tools have automated many tasks of Printed circuit board engineers. Just like the Auto industry, the Software industry has grown from a few visionaries operating out of their garage with prototypes. Steve Jobs and Bill Gates were the Henry Ford and Louis Chevrolet of their times, who capitalized on ideas already commonly known before they started in the business. In the case of Page 38
  39. 39. Software development, this moment is generally agreed to be the publication in the 1980s of the specifications for the IBM Personal Computer published by IBM employee Philip Don Estridge. Today his move would be seen as a type of crowdsourcing. Computer hardware companies not only bundled their software, they also placed demands on the location of the hardware in a refrigerated space called a computer room. Until that time, software was bundled with the hardware by Original equipment manufacturers (OEMs) such as Data General, Digital Equipment and IBM. When a customer bought a minicomputer, at that time the smallest computer on the market, the computer did not come with Preinstalled software, but needed to be installed by engineers employed by the OEM. Computer hardware companies not only Page 39
  40. 40. bundled their software, they also placed demands on the location of the hardware in a refrigerated space called a computer room. Most companies had their software on the books for 0 dollars, unable to claim it as an asset (this is similar to financing of popular music in those days). When Data General introduced the Data General Nova, a company called Digidyne wanted to use its RDOS operating system on its own hardware clone. Data General refused to license their software (which was hard to do, since it was on the books as a free asset), and claimed their "bundling rights". The US Supreme Court set a precedent called Digidyne v. Data General in 1985, and the Supreme Court let a 9th circuit decision stand, and Data General was eventually forced into licensing the Operating System software because it was Page 40
  41. 41. ruled that restricting the license to only DG hardware was an illegal tying arrangement. Unable to sustain the loss from lawyer's fees, Data General ended up being taken over by EMC Corporation. The Supreme Court decision made it possible to value software, and also purchase Software patents. Page 41
  42. 42. Types of software Page 42
  43. 43. A layer structure showing where the operating system software and application software are situated while running on a typical desktop computer Software includes all the various forms and roles that digitally stored data may have and play in a computer (or similar system), regardless of whether the data is used as code for a CPU, or other interpreter, or whether it represents other kinds of information. Software thus encompasses a wide array of products that may be developed using different techniques such as ordinary programming languages, microcode, or an FPGA configuration. The types of software include web pages developed in languages and frameworks like PHP, Perl, JSP or ASP.NET and desktop Page 43
  44. 44. applications like, Microsoft Word developed in languages like C, C++, Objective-C, Java, C#, or Smalltalk. Application software usually runs on an underlying software operating systems such as Linux or Microsoft Windows. Software (or firmware) is also used in video games and for the configurable parts of the logic systems of automobiles, televisions, and other consumer electronics. Practical computer systems divide software systems into three major classes: system software, programming software and application software, although the distinction is arbitrary, and often blurred. System software System software is computer software designed to operate the computer hardware, Page 44
  45. 45. to provide basic functionality, and to provide a platform for running application software. System software includes device drivers, operating systems, servers, utilities, and window systems. Programming software Programming software include tools in the form of programs or applications that software developers use to create, debug, maintain, or otherwise support other programs and applications. The term usually refers to relatively simple programs such as compilers, debuggers, interpreters, linkers, and text editors, that can be combined together to accomplish a task, much as one might use multiple hand tools to fix a physical object. Programming tools are intended to assist a programmer in writing computer programs, and they may be Page 45
  46. 46. combined in an integrated development environment (IDE) to more easily manage all of these functions. Software topics Architecture Users often see things differently than programmers. People who use modern general purpose computers (as opposed to embedded systems, analog computers and supercomputers) usually see three layers of software performing a variety of tasks: platform, application, and user software.  Platform software: Platform includes the firmware, device drivers, an operating system, and typically a graphical user interface which, in total, Page 46
  47. 47.  allow a user to interact with the computer and its peripherals (associated equipment). Platform software often comes bundled with the computer. On a PC you will usually have the ability to change the platform software. Application software: Application software or Applications are what most people think of when they think of software. Typical examples include office suites and video games. Application software is often purchased separately from computer hardware. Sometimes applications are bundled with the computer, but that does not change the fact that they run as independent applications. Applications are usually independent programs from the operating system, though they are often tailored for specific platforms. Page 47
  48. 48.  Most users think of compilers, databases, and other "system software" as applications. User-written software: End-user development tailors systems to meet users' specific needs. User software include spreadsheet templates and word processor templates. Even email filters are a kind of user software. Users create this software themselves and often overlook how important it is. Depending on how competently the user-written software has been integrated into default application packages, many users may not be aware of the distinction between the original packages, and what has been added by co-workers. Page 48
  49. 49. Execution Computer software has to be "loaded" into the computer's storage (such as the hard drive or memory). Once the software has loaded, the computer is able to execute the software. This involves passing instructions from the application software, through the system software, to the hardware which ultimately receives the instruction as machine code. Each instruction causes the computer to carry out an operation – moving data, carrying out a computation, or altering the control flow of instructions. Data movement is typically from one place in memory to another. Sometimes it involves moving data between memories and registers which enable high-speed data access in the CPU. Moving data, especially large amounts of it, can be costly. So, this is Page 49
  50. 50. sometimes avoided by using "pointers" to data instead. Computations include simple operations such as incrementing the value of a variable data element. More complex computations may involve many operations and data elements together. Quality and reliability Software quality is very important, especially for commercial and system software like Microsoft Office, Microsoft Windows and Linux. If software is faulty (buggy), it can delete a person's work, crash the computer and do other unexpected things. Faults and errors are called "bugs." Many bugs are discovered and eliminated (debugged) through software testing. However, software testing rarely–if ever– eliminates every bug; some programmers say that "every program has at least one Page 50
  51. 51. more bug" (Lubarsky's Law). All major software companies, such as Microsoft, Novell and Sun Microsystems, have their own software testing departments with the specific goal of just testing. Software can be tested through unit testing, regression testing and other methods, which are done manually, or most commonly, automatically, since the amount of code to be tested can be quite large. For instance, NASA has extremely rigorous software testing procedures for many operating systems and communication functions. Many NASA based operations interact and identify each other through command programs called software. This enables many people who work at NASA to check and evaluate functional systems overall. Programs containing command software enable hardware engineering and system operations to function much easier together. Page 51
  52. 52. License The software's license gives the user the right to use the software in the licensed environment. Some software comes with the license when purchased off the shelf, or an OEM license when bundled with hardware. Other software comes with a free software license, granting the recipient the rights to modify and redistribute the software. Software can also be in the form of freeware or shareware. Patents Software can be patented in some but not all countries; however, software patents can be controversial in the software industry with many people holding different views about it. The controversy over software patents is Page 52
  53. 53. about specific algorithms or techniques that the software contains, which may not be duplicated by others and considered intellectual property and copyright infringement depending on the severity. Design and implementation A particular implementation of software. This software was created to assist the Wikipedia website. Also, it does not use a graphical user interface aside from a simple console window. Page 53
  54. 54. Design and implementation of software varies depending on the complexity of the software. For instance, design and creation of Microsoft Word software will take much more time than designing and developing Microsoft Notepad because of the difference in functionalities in each one. Software is usually designed and created (coded/written/programmed) in integrated development environments (IDE) like Eclipse, Emacs and Microsoft Visual Studio that can simplify the process and compile the program. As noted in different section, software is usually created on top of existing software and the application programming interface (API) that the underlying software provides like GTK+, JavaBeans or Swing. Libraries (APIs) are categorized for different purposes. For instance, JavaBeans library is used for designing enterprise applications, Page 54
  55. 55. Windows Forms library is used for designing graphical user interface (GUI) applications like Microsoft Word, and Windows Communication Foundation is used for designing web services. Underlying computer programming concepts like quicksort, hash table, array, and binary tree can be useful to creating software. When a program is designed, it relies on the API. For instance, if a user is designing a Microsoft Windows desktop application, he/she might use the .NET Windows Forms library to design the desktop application and call its APIs like Form1.Close() and Form1.Show() to close or open the application and write the additional operations him/herself that it need to have. Without these APIs, the programmer needs to write these APIs him/herself. Companies like Sun Microsystems, Novell, and Microsoft provide their own APIs so that Page 55
  56. 56. many applications are written using their software libraries that usually have numerous APIs in them. Computer software has special economic characteristics that make its design, creation, and distribution different from most other economic goods. A person who creates software is called a programmer, software engineer or software developer, terms that all have a similar meaning. Industry and organizations A great variety of software companies and programmers in the world comprise a software industry. Software can be quite a profitable industry: Bill Gates, the founder Page 56
  57. 57. of Microsoft was the richest person in the world in 2009 largely by selling the Microsoft Windows and Microsoft Office software products. The same goes for Larry Ellison, largely through his Oracle database software. Through time the software industry has become increasingly specialized. Non-profit software organizations include the Free Software Foundation, GNU Project and Mozilla Foundation. Software standard organizations like the W3C, IETF develop software standards so that most software can interoperate through standards such as XML, HTML, HTTP or FTP. Other well-known large software companies include Novell, SAP, Symantec, Adobe Systems, and Corel, while small companies often provide innovation. Page 57
  58. 58. Flowchart A simple flowchart representing a process for dealing with a non-functioning lamp Page 58
  59. 59. A flowchart is a type of diagram that represents an algorithm or process, showing the steps as boxes of various kinds, and their order by connecting them with arrows. This diagrammatic representation illustrates a solution to a given problem. Process operations are represented in these boxes, and arrows; rather, they are implied by the sequencing of operations. Flowcharts are used in analyzing, designing, documenting or managing a process or program in various fields. Overview Flowcharts are used in designing and documenting complex processes or programs. Like other types of diagrams, they help visualize what is going on and thereby help the viewer to understand a process, and Page 59
  60. 60. perhaps also find flaws, bottlenecks, and other less-obvious features within it. There are many different types of flowcharts, and each type has its own repertoire of boxes and notational conventions. The two most common types of boxes in a flowchart are:   a processing step, usually called activity, and denoted as a rectangular box a decision, usually denoted as a diamond. A flowchart is described as "crossfunctional" when the page is divided into different swimlanes describing the control of different organizational units. A symbol appearing in a particular "lane" is within the control of that organizational unit. This technique allows the author to locate the responsibility for performing an action or making a decision correctly, showing the Page 60
  61. 61. responsibility of each organizational unit for different parts of a single process. Flowcharts depict certain aspects of processes and they are usually complemented by other types of diagram. For instance, Kaoru Ishikawa defined the flowchart as one of the seven basic tools of quality control, next to the histogram, Pareto chart, check sheet, control chart, cause-andeffect diagram, and the scatter diagram. Similarly, in UML, a standard conceptmodeling notation used in software development, the activity diagram, which is a type of flowchart, is just one of many different diagram types. Nassi-Shneiderman diagrams are alternative notation for process flow. an Page 61
  62. 62. Common alternate names include: flowchart, process flowchart, functional flowchart, process map, process chart, functional process chart, business process model, process model, process flow diagram, work flow diagram, business flow diagram. The terms "flowchart" and "flow chart" are used interchangeably. Page 62
  63. 63. History Template for drawing flowcharts (late 1970s) showing the different symbols. Page 63
  64. 64. The first structured method for documenting process flow, the "flow process chart", was introduced by Frank Gilbreth to members of the American Society of Mechanical Engineers (ASME) in 1921 in the presentation ―Process Charts—First Steps in Finding the One Best Way‖. Gilbreth's tools quickly found their way into industrial engineering curricula. In the early 1930s, an industrial engineer, Allan H. Mogensen began training business people in the use of some of the tools of industrial engineering at his Work Simplification Conferences in Lake Placid, New York. A 1944 graduate of Mogensen's class, Art Spinanger, took the tools back to Procter and Gamble where he developed their Deliberate Methods Change Program. Another 1944 graduate, Ben S. Graham, Director of Formcraft Engineering at Standard Register Page 64
  65. 65. Industrial, adapted the flow process chart to information processing with his development of the multi-flow process chart to display multiple documents and their relationships. In 1947, ASME adopted a symbol set derived from Gilbreth's original work as the ASME Standard for Process Charts. Douglas Hartree explains that Herman Goldstine and to plan computer programs. His contemporary account is endorsed by IBM engineers and by Goldstine's personal recollections. The original programming flowcharts of Goldstine and von Neumann can be seen in their unpublished report, "Planning and coding of problems for an electronic computing instrument, Part II, Volume 1" (1947), which is reproduced in von Neumann's collected works. Page 65
  66. 66. Flowcharts used to be a popular means for describing computer algorithms and are still used for this purpose. Modern techniques such as UML activity diagrams can be considered to be extensions of the flowchart. In the 1970s the popularity of flowcharts as an own method decreased when interactive computer terminals and third-generation programming languages became the common tools of the trade, since algorithms can be expressed much more concisely as source code in such a language, and also because designing algorithms using flowcharts was more likely to result in spaghetti code because of the need for gotos to describe arbitrary jumps in control flow. Often pseudo-code is used, which uses the common idioms of such languages without strictly adhering to the details of a particular one. Page 66
  67. 67. Flowchart building blocks Example: A simple flowchart for computing factorial N (N!) Page 67
  68. 68. Data-flow extensions A number of symbols have been standardized for data flow diagrams to represent data flow, rather than control flow. These symbols may also be used in control flowcharts (e.g. to substitute for the parallelogram symbol).    A Document represented as a rectangle with a wavy base; A Manual input represented by quadrilateral, with the top irregularly sloping up from left to right. An example would be to signify data-entry from a form; A Manual operation represented by a trapezoid with the longest parallel side at the top, to represent an operation or adjustment to process that can only be made manually. Page 68
  69. 69.  A Data File represented by a cylinder. Types of flowchart Sterneckert (2003) suggested that flowcharts can be modeled from the perspective of different user groups (such as managers, system analysts and clerks) and that there are four general types:     Document flowcharts, showing controls over a document-flow through a system Data flowcharts, showing controls over a data-flow in a system System flowcharts showing controls at a physical or resource level Program flowchart, showing the controls in a program within a system Page 69
  70. 70. Notice that every type of flowchart focuses on some kind of control, rather than on the particular flow itself. However there are several of these classifications. For example Andrew Veronis (1978) named three basic types of flowcharts: the system flowchart, the general flowchart, and the detailed flowchart. That same year Marilyn Bohl (1978) stated "in practice, two kinds of flowcharts are used in solution planning: system flowcharts and program flowcharts..." More recently Mark A. Fryman (2001) stated that there are more differences: "Decision flowcharts, logic flowcharts, systems flowcharts, product flowcharts, and process flowcharts are just a few of the different types of flowcharts that are used in business and government". Page 70
  71. 71. In addition, many diagram techniques exist that are similar to flowcharts but carry a different name, such as UML activity diagrams. Software Any drawing program can be used to create flowchart diagrams, but these will have no underlying data model to share data with databases or other programs such as project management systems or spreadsheets. Some tools offer special support for flowchart drawing. Many software packages exist that can create flowcharts automatically, either directly from source code, or from a flowchart description language. On-line Web-based versions of such programs are available. Page 71
  72. 72. Flowchart Symbols The following is a basic overview, with descriptions and meanings, of the most common flowchart symbols - also commonly called flowchart shapes, flow diagram symbols or process mapping symbols, depending upon what type of diagram you're creating. The table below lists the flowchart symbol drawing, the name of the flowchart symbol in Microsoft Office (with aliases in parentheses), and a short description of where and how the flowchart symbol is used. Page 72
  73. 73. Process / Operation Symbols Symbol Name (alias) Description Process Show a Process or action step. This is the most common symbol in both process flowcharts and process maps. A Predefined Process symbol is a Predefined marker for another Process process step or (Subroutine) series of process flow steps that are formally defined Page 73
  74. 74. Symbol Name (alias) Description elsewhere. This shape commonly depicts subprocesses (or subroutines in programming flowcharts). If the sub-process is considered "known" but not actually defined in a process procedure, work instruction, or some other Page 74
  75. 75. Symbol Name (alias) Description process flowchart or documentation, then it is best not to use this symbol since it implies a formally defined process. Alternate Process As the shape name suggests, this flowchart symbol is used when the process flow step is an alternate to the normal process Page 75
  76. 76. Symbol Name (alias) Description step. Flow lines into an alternate process flow step are typically dashed. Delay The Delay flowchart symbol depicts any waiting period that is part of a process. Delay shapes are common in process mapping. Page 76
  77. 77. Symbol Name (alias) Description Preparation As the names states, any process step that is a Preparation process flow step, such as a set-up operation. Manual Operation Manual Operations flowchart shapes show which process steps are not automated. In data processing flowcharts, this Page 77
  78. 78. Symbol Name (alias) Description data flow shape indicates a looping operation along with a loop limit symbol (which is not supported by Microsoft Office, but a Manual Operation symbol rotated 180° will do the trick.) Page 78
  79. 79. Branching and Control of Flow Symbols Symbol Name (alias) Description Flow Line (Arrow, Connector) Flow line connectors show the direction that the process flows. Terminator (Terminal Point, Oval) Terminators show the start and stop points in a process. When used as a Start Page 79
  80. 80. Symbol Name (alias) Description symbol, terminators depict a trigger action that sets the process flow into motion. Decision Indicates a question or branch in the process flow. Typically, a Decision flowchart shape is Page 80
  81. 81. Symbol Name (alias) Description used when there are 2 options (Yes/No, No/No-Go, etc.) Connector (Inspection) Flowchart: In flowcharts, this symbol is typically small and is used as a Connector to show a jump from Page 81
  82. 82. Symbol Name (alias) Description one point in the process flow to another. Connectors are usually labeled with capital letters (A, B, AA) to show matching jump points. They are handy for avoiding flow Page 82
  83. 83. Symbol Name (alias) Description lines that cross other shapes and flow lines. They are also handy for jumping to and from a sub-process defined in a separate area than the main flowchart. Process Mapping: In Page 83
  84. 84. Symbol Name (alias) Description process maps, this symbol is full sized and shows an Inspection point in the process flow. [Just to confuse things further, some people will use a circle to indicate an operation and Page 84
  85. 85. Symbol Name (alias) Description a square to indicate an inspection. That's why it's important to include a symbol key in the flowchart.] Off-Page Connector Off-Page Connector shows continuation of a process Page 85
  86. 86. Symbol Name (alias) Description flowchart onto another page. When using them in conjunction with Connectors, it's best to differentiate the labels, e.g. use numbers for Off-Page Connectors and capital letters for Page 86
  87. 87. Symbol Name (alias) Description Connectors. In actual practice, most flowcharts just use the Connect shape for both on-page and off-page references. Merge (Storage) Flowchart: Shows the merging of multiple Page 87
  88. 88. Symbol Name (alias) Description processes or information into one. Process Mapping: commonly indicates storage of raw materials. Flowchart: Extract Shows when a (Measurement process splits ) into parallel paths. Also Page 88
  89. 89. Symbol Name (alias) Description commonly indicates a Measurement , with a capital 'M' inside the symbol. Process Mapping: commonly indicates storage of finished goods. Page 89
  90. 90. Symbol Name (alias) Description Or The logical Or symbol shows when a process diverges usually for more than 2 branches. When using this symbol, it is important to label the out-going flow lines to indicate the Page 90
  91. 91. Symbol Name (alias) Description criteria to follow each branch. Summing Junction The logical Summing Junction flowchart shape is shows when multiple branches converge into a single process. The Page 91
  92. 92. Symbol Name (alias) Description merge symbol is more common for this use, though. This symbol and the Or symbol are really more relevant in data processing flow diagrams than in process Page 92
  93. 93. Symbol Name (alias) Description flowcharts. Input and Output Symbols Symbol Name (alias) Description Data (I/O) The Data flowchart shape indicates inputs to and outputs from a process. As such, the shape is more often referred to as an I/O Page 93
  94. 94. Symbol Name (alias) Description shape than a Data shape. Pretty selfexplanatory—the Document flowchart Document symbol is for a process step that produces a document. Same as Document, Multiexcept, well, multiple Document documents. This shape is not as Page 94
  95. 95. Symbol Name (alias) Description commonly used as the Document flowchart shape, even when multiple documents are implied. Display Indicates a process step where information is displayed to a person (e.g., PC user, machine operator). Page 95
  96. 96. Symbol Name (alias) Description Manual Input Manual Input flowchart shapes show process steps where the operator/ user is prompted for information that must be manually input into a system. Card This is the companion to the punched tape flowchart shapes. This shape is seldom Page 96
  97. 97. Symbol Name (alias) Description used. Punched Tape If you're very good at stretching all the life out of a machine, you may still have use for the Punched Tape symbol - used for input into old computers and CNC machines. Page 97
  98. 98. File and Information Storage Symbols Symbol Name (alias) Description Stored Data A general Data Storage flowchart shape used for any process step that stores data (as opposed to the more specific shapes to follow next in this table). Magnetic The most universally recognizable symbol Disk for a data storage (Database) location, this Page 98
  99. 99. Symbol Name (alias) Description flowchart shape depicts a database. Direct Access Storage Direct Access Storage is a fancy way of saying Hard Drive. Internal Storage Used in programming flowcharts to mean information stored in memory, as opposed to on a file. Page 99
  100. 100. Name (alias) Symbol Description Sequential Although it looks like Access a 'Q', the symbol is Storage supposed to look like (Magnetic a reel of tape. Tape) Data Processing Symbols Symbol Name (alias) Description Collate The Collate flowchart shape indicates a process step that requires organizing data, Page 100
  101. 101. Symbol Name (alias) Description information, or materials according into a standard format or arrangement. Sort Indicates the sorting of data, information, materials into some pre-defined order. Caveat: The descriptions given above are written from the perspective of someone using them to create process flow charts, whereas many of the flowchart symbols actually have their roots in the data processing diagrams and programming flow Page 101
  102. 102. charts. So, not all the flowcharting shapes shown below may be relevant to your needs. The flowchart symbol names in parentheses are common alternates for a given shape. Sometimes a flowchart shape can have more than one meaning, as with the Circle shape, which depicts a jump node in flow charts and inspection point in business process mapping. Other times, there are just multiple names for the same flow chart symbol - such as Terminator and Terminal Point. The Most Commonly Used Flowchart Symbols The majority of flowcharts rely on just a few of the process-related symbols to do all the heavy lifting: Terminator, Process, Decision, Document, and Connector. In Page 102
  103. 103. fact, if you use other flowcharting shapes, many people won't know what they are for, so you may want to add a symbol key to your flowchart. About the Flowchart Symbols You might think that an expensive flowchart software package is required to make presentation-quality flowcharts. It isn't. All the shapes used in this article were created in Microsoft Excel. Page 103
  104. 104. References     Fuegi, J. and Francis, J. "Lovelace & Babbage and the creation of the 1843 'notes'". IEEE Annals of the History of Computing 25 No. 4 (October–December 2003): Digital Object Identifier a Kempf, Karl (1961). Historical Monograph: Electronic Computers within the Ordnance Corps. Aberdeen Proving Ground (United States Army). a Phillips, Tony (2000). "The Antikythera Mechanism I". American Mathematical Society. Retrieved 5 April 2006. a Shannon, Claude Elwood (1940). A symbolic analysis of relay and switching circuits. Massachusetts Institute of Technology. Page 104
  105. 105.      Digital Equipment Corporation (1972). PDP11/40 Processor Handbook (PDF). Maynard, MA: Digital Equipment Corporation. Verma, G.; Mielke, N. (1988). Reliability performance of ETOX based flash memories. IEEE International Reliability Physics Symposium. Meuer, Hans; Strohmaier, Erich; Simon, Horst; Dongarra, Jack (13 November 2006). "Architectures Share over Time". TOP500. Retrieved 27 November 2006. Lavington, Simon (1998). A History of Manchester Computers (2 Ed.). Swindon: The British Computer Society. ISBN 978-0902505-01-8. Stokes, Jon (2007). Inside the Machine: An Illustrated Introduction to Microprocessors Page 105
  106. 106.     and Computer Architecture. San Francisco: No Starch Press. ISBN 978-1-59327-104-6. Felt, Dorr E. (1916). Mechanical Arithmetic, Or the History of the Counting Machine. Chicago: Washington Institute. Ifrah, Georges (2001). The Universal History of Computing: From the Abacus to the Quantum Computer. New York: John Wiley & Sons. ISBN 0-471-39671-0. Berkeley, Edmund (1949). Giant Brains or Machines That Think. John Wiley & Sons. Nicholas Hebb (2012). Business Process Map and Flow Chart Symbols and their Meanings Page 106