Computer Science: Communications PDF

Summary

This document provides a general overview of computer communication and networks. It includes different types of connections, including wireless and physical. The document also explains various components of communication systems, including nodes, clients, servers, and network devices.

Full Transcript

# **COMMUNICATIONS** Communications is the process of sharing data, programs, and information between two or more computers. Applications include texting, e-mail, videoconferencing, and electronic commerce. ## **Connectivity** Connectivity is a concept related to using computer networks to link p...

# **COMMUNICATIONS** Communications is the process of sharing data, programs, and information between two or more computers. Applications include texting, e-mail, videoconferencing, and electronic commerce. ## **Connectivity** Connectivity is a concept related to using computer networks to link people and resources. You can link or connect to large computers and the Internet, providing access to extensive information resources. ## **The Wireless Revolution** Mobile devices like cell phones and tablets have brought dramatic changes in connectivity and communications. These wireless devices are becoming widely used for computer communication. ## **Communication Systems** Communication systems transmit data from one location to another. There are four basic elements: - Sending and receiving devices originate or accept messages. - Connection devices act as an interface between sending and receiving devices and the communication channel. - Data transmission specifications are rules and procedures for sending and receiving data. - Communication channel is the actual connecting or transmission medium for messages. # **COMMUNICATION CHANNELS** Communication channels carry data from one computer to another. ## **Wireless Connections** Wireless connections do not use a solid substance to connect devices. Most use radio waves. - **WiMax** (Worldwide Interoperability for Microwave Access) - extends the range of Wi-Fi networks using microwave connections. - **Bluetooth** - transmits data over short distances; widely used for a variety of wireless devices. - **Wi-Fi** (wireless fidelity) - uses high-frequency radio signals; most home and business wireless networks use Wi-Fi. - **Microwave** - line-of-sight communication; used to send data between buildings; longer distances require microwave stations. - **Cellular** - uses cell towers to send and receive data within relatively small geographic regions or cells. - **Satellite** - uses microwave relay stations; GPS (global positioning system) tracks geographic locations. - **Infrared** - uses light waves over a short distance; line-of-sight communication. ## **Physical Connections** Physical connections use a solid medium to connect sending and receiving devices. Connections include **twisted-pair cable** (telephone lines and Ethernet cables), **coaxial cable**, and **fiber-optic cable**. To efficiently and effectively use computers, you need to understand the concepts of connectivity, the wireless revolution, and communication systems. Additionally, you need to know the essential parts of communication technology, including channels, connection devices, data transmission, networks, network architectures, and network types. # **CONNECTION DEVICES** Many communication systems use standard telephone lines and **analog signals**. Computers use **digital signals**. ## **Modems** Modems **modulate and demodulate**. Transfer rate is measured in megabits per second. Three types are **wireless** (wireless wide area network, WWAN), **DSL**, and **cable**. ## **Connection Services** T1, T3 (DS3), and OC (optical carrier) lines provide support for very-high-speed, all-digital transmission for large corporations. Cellular service providers support voice and data transmission using cellular networks. These mobile telecommunications networks have gone through different generations - 1G, using analog radio signals; 2G using digital radio signals; 3G, beginning of cell phones; 4G, using LTE (Long Term Evolution); and 5G, the newest and fastest network. Other more affordable technologies include **dial-up**, **DSL** (digital subscriber line), **ADSL** (widely used), **cable**, **fiber-optic service** (FiOS), and **satellite**. # **DATA TRANSMISSION** **Bandwidth** measures a communication channel's width or capacity. Four bandwidths are **voiceband**, **medium band**, **broadband**, and **baseband**. **Protocols** are rules for exchanging data. Internet protocols include https and TCP/IP. IP addresses (Internet protocol addresses) are unique numeric Internet addresses. DNS (domain name server) converts text-based addresses to and from numeric IP addresses. **Packets** are small parts of messages. # **NETWORKS** Computer networks connect two or more computers. Some specialized network terms include: - **Node** - any device connected to a network. - **Client** - node requesting resources. - **Server** - node providing resources. - **Directory server** - specialized node that manages resources. - **Host** - any computer system that provides access to its resources over a network. - **Router** - a node that forwards data packets from one network to another network. - **Switch** - node that coordinates direct flow of data between other nodes. Hub is an older device that directed flow to all nodes. - **NIC** (network interface card) - LAN adapter card for connecting to a network. - **NOS** (network operating system) - controls and coordinates network operations. - **Network administrator** - network specialist responsible for network operations. # **NETWORK TYPES** Networks can be citywide or even international, using both wired and wireless connections. - **Local area networks** (LANs) connect nearby devices. Network gateways connect networks to one another. Ethernet is a LAN standard. These LANs are called Ethernet LANs. - **Home networks** are LANs used in homes. - **Wireless LANs** (WLANs) use a wireless access point (base station) as a hub. Hotspots provide Internet access in public places. - **Personal area networks** (PANs) are wireless networks for Bluetooth headphones, cell phones, and other wireless devices. - **Metropolitan area networks** (MANs) link office buildings within a city, spanning up to 100 miles. - **Wide area networks** (WANs) are the largest type. They span states and countries or form worldwide networks. The Internet is the largest wide area network in the world. # **NETWORK ARCHITECTURE** Network architecture describes how networks are arranged and resources are shared. ## **Topologies** A network's topology describes the physical arrangement of a network. - **Bus network** - each device is connected to a common cable called a bus or backbone. - **Ring network** - each device is connected to two other devices, forming a ring. - **Star network** - each device is connected directly to a central network switch; most common type today. - **Tree (hierarchical) network** - a central node is connected to subordinate nodes forming a treelike structure. - **Mesh network** - newest; each node has two or more connecting nodes. ## **Strategies** Every network has a strategy, or way of sharing information and resources. Common network strategies include client/server and peer-to-peer. - **Client/server (hierarchical) network** - central computers coordinate and supply services to other nodes; based on specialization of nodes; widely used on the Internet; able to handle very large networks efficiently; powerful network management software available. - **Peer-to-peer network** - nodes have equal authority and act as both clients and servers; widely used to share games, movies, and music over the Internet; easy to set up and use; lacks security controls. # **ORGANIZATIONAL NETWORKS** ## **Internet Technologies** Internet technologies support effective communication using **intranets** and **extranets**. - **Intranet** - private network within an organization; uses browsers, websites, and web pages. Typical applications include electronic telephone directories, e-mail addresses, employee benefit information, internal job openings, and much more. - **Extranet** - like intranet except connects more than one organization; typically allows suppliers and others limited access to their networks. ## **Network Security** Three technologies commonly used to ensure network security are **firewalls**, **intrusion detection systems**, and **virtual private networks**. - **Firewall** - controls access; all communications pass through a proxy server. - **Intrusion detection systems (IDSs)** - work with firewalls; use sophisticated statistical techniques to recognize and disable network attacks. - **Virtual private network (VPN)** - creates secure private connection between remote user and organization's internal network. ## **CAREERS in IT** Network administrators manage a company's LAN and WAN networks. Bachelor's or associate's degree in computer science, computer technology, or information systems and practical networking experience required. Expected salary range is $43,000 to $84,000. # **PRIVACY** The three primary privacy issues: accuracy, property, access. ## **Big Data** The ever-growing volume of data collected about us is often referred to as big data. Information resellers (information brokers) collect and sell personal data. **Mistaken identity** occurs when the digital footprint of one person is switched with another. The Freedom of Information Act entitles individuals access to governmental records relating to them. ## **Private Networks** Many organizations monitor employee e-mail and computer files using special software called **employee-monitoring software**. ## **The Internet and the Web** Many people believe that, while using the web, little can be done to invade their privacy. This is called the **illusion of anonymity**. The **deep web** is comprised of websites that are hidden from standard search engines and provide secure and anonymous communication. The **dark web** is a part of the deep web comprised of sites that use special software to hide their IP addresses, making it nearly impossible to identify who is using it. Information stored by browsers includes **history files** (record of sites visited) and **temporary Internet files or browser cache** (contain website content and display instructions). **Cookies** store and track information. **Privacy mode** (Private browsing) ensures that your browsing activity is not recorded. **Spyware** secretly records and reports Internet activities. **Keyloggers** (one type of computer monitoring software) records every activity and keystroke. **Antispyware** (spy removal programs) detects and removes various privacy threats. ## **Online Identity** Many people post personal information and sometimes intimate details of their lives without considering the consequences. This creates an **online identity**. With the archiving and search features of the web, this identity is indefinitely available to anyone who cares to look for it. ## **Major Laws on Privacy** The **Gramm-Leach-Bliley Act** protects personal financial information, the **Health Insurance Portability and Accountability Act (HIPAA)** protects medical records, and the **Family Educational Rights and Privacy Act (FERPA)** restricts disclosure of educational records. To efficiently and effectively use computers, you need to be aware of the potential impact of technology on people. You need to be sensitive to and knowledgeable about personal privacy, organizational security, and ethics. # **SECURITY** Computer security focuses on protecting information, hardware, and software from unauthorized use as well as preventing damage from intrusions, sabotage, and natural disasters. ## **Cybercrime** Cybercrime (computer crime) is a criminal offense involving a computer or network. (Cyberterrorism is a politically motivated cybercrime.) Some types of cybercrime are identity theft, Internet scams, data manipulation, ransomware, denial of service (DoS) attack, and distributed denial of service (DDoS) attack. ## **Social Engineering** Social engineering is the practice of manipulating people to divulge private data. **Phishing** attempts to trick people into believing a fake website is real. ## **Malicious Software** Crackers create and distribute **malware** (malicious software). The three most common types are: - **Viruses** migrate through networks and operating systems; can alter and/or delete files. - **Worms** repeatedly replicate themselves, clogging computers and networks. - **Trojan horses** appear harmless but contain malicious programs. ## **Malicious Hardware** Cyber criminals can use computer hardware to steal information. Three types of malicious hardware: - **Zombies** - remotely controlled computers used for malicious purposes; a collection is known as a **botnet** (robot network). - **Rogue Wi-Fi hotspots** - network that appears to be a legitimate free Wi-Fi hotspot. Once connected, any input by users is captured. - **Infected USB flash drives** - USB drives that are often free that contain a virus. ## **Measures to Protect Computer Security** The Computer Fraud and Abuse Act makes it a crime for unauthorized persons to view data across state lines using computers and prohibits unauthorized use of computers owned by government or federally insured financial institutions. Ways to protect computer security include limiting access, encrypting, and anticipating disasters. - Access can be restricted through **biometric scanning devices** and **passwords** (dictionary attacks use thousands of words to attempt to gain access; Picture Password uses series of gestures; facial recognition limits access); **security suites**, **firewalls**, **password managers**, and **authentication** (two-factor authentication uses two types of data to verify your identity; two-step authentication uses one type of authentication twice). - **Encrypting** is coding information to make it unreadable except to those who have the encryption key. **Hypertext transfer protocol secure (https)** requires browsers and websites to encrypt all messages. **Virtual private networks (VPNs)** encrypt connections between company networks and remote users. **WPA2** (Wi-Fi Protected Access) is the most widely used wireless network encryption for home wireless networks. - **Anticipating disasters** involves **physical security**, **data security**, and **disaster recovery plans**. - **Preventing data loss** involves protecting data by screening job applicants, guarding passwords, and auditing and backing up data. # **ETHICS** What do you suppose controls how computers can be used? You probably think first of laws. Of course, that is right, but technology is moving so fast that it is very difficult for our legal system to keep up. The essential element that controls how computers are used today is **ethics**. Computer ethics are guidelines for the morally acceptable use of computers in our society. We are all entitled to ethical treatment. This includes the right to keep personal information, such as credit ratings and medical histories, from getting into unauthorized hands. ## **Cyberbullying** Cyberbullying is the use of the Internet to send or post content intended to hurt or embarrass another person. It includes sending repeated unwanted e-mails to an individual, ganging up on victims in electronic forums, posting false statements, maliciously disclosing personal data, and sending any type of threatening or harassing communication. It can lead to criminal prosecution. ## **Copyright and Digital Rights Management** A copyright is a legal concept that gives content creators the right to control use and distribution of their work. Materials that can be copyrighted include paintings, books, music, films, and even video games. **Software piracy** is the unauthorized copying and distribution of software. The software industry loses over $60 billion annually to software piracy. Two related topics are the **Digital Millennium Copyright Act** and **digital rights management**. - The **Digital Millennium Copyright Act** makes it illegal to deactivate or disable antipiracy technologies; to copy, resell, or give away commercial programs; or to sell or use programs or devices that are illegally copying software. **Digital rights management (DRM)** is a collection of technologies designed to prevent copyright violations. Typically, DRM is used to (1) control the number of devices that can access a given file and (2) limit the kinds of devices that can access a file. Today, many legal sources for digital media exist, including: - Television programs that can be watched online, often for free, on television-network-sponsored sites. - Sites like Pandora that allow listeners to enjoy music at no cost. - Online stores that legally sell music and video content. A pioneer in this area is Apple's iTunes Music Store. ## **Plagiarism** Plagiarism is the illegal and unethical representation of some other person's work and ideas as your own without giving credit to the original source. Examples include cutting and pasting web content into a report or paper. Recognizing and catching plagiarists is relatively easy. For example, services such as Turnitin are dedicated to preventing Internet plagiarism. This service examines a paper's content and compares it to a wide range of known public electronic documents including web page content. Exact duplication or paraphrasing is readily identified. ## **CAREERS in IT** IT security analysts are responsible for maintaining the security of a company's network, systems, and data. Employers look for candidates with a bachelor's or associate's degree in information systems or computer science and network experience. Expected salary range is $49,000 to $99,000. # **ORGANIZATIONAL INFORMATION FLOW** Information flows in an organization through functional areas and between management levels. ## **Functions** Most organizations have separate departments to perform five functions: - **Accounting** - tracks all financial activities and generates periodic financial statements. - **Marketing** - advertises, promotes, and sells the product (or service). - **Production** - makes the product (or service) using raw materials and people to turn out finished goods. - **Human resources** - finds and hires people; handles such matters as sick leave, retirement benefits, evaluation, compensation, and professional development. - **Research** - conducts product research and development; monitors and troubleshoots new products. ## **Management Levels** The three basic management levels are: - **Top level** - concerned with long-range planning and forecasting. - **Middle level** - deals with control, planning, decision making, and implementing long-term goals. - **Supervisors** - control operational matters, monitor day-to-day events, and supervise workers. ## **Information Flow** Information flows within an organization in different directions. - For **top-level managers**, the information flow is primarily upward from within the organization and into the organization from the outside. - For **middle-level managers**, the information flow is horizontal and vertical within departments. - For **supervisors**, the information flow is primarily vertical. To efficiently and effectively use computers within an organization, you need to understand how information flows through functional areas and management levels. You need to be aware of the different types of computer-based information systems, including transaction processing systems, management information systems, decision support systems, and executive support systems. # **INFORMATION SYSTEMS** ## **Transaction Processing Systems** Transaction processing systems (TPSs), sometimes called data processing systems (DPSs), record day-to-day transactions. Accounting activities include sales order processing, accounts receivable, inventory and purchasing, accounts payable, payroll, and general ledger. A general ledger is used to produce income statements and balance sheets. ## **Management Information Systems** Management information systems (MISs) produce predetermined reports (periodic, exception, demand). ## **Decision Support Systems** Decision support systems (DSSs) focus on unanticipated questions; consist of the user, system software, data (internal and external), and decision models. Three types are strategic, tactical, and operational. **Group decision support systems (GDSS)** support a team of decision makers. ## **Executive Support Systems** Executive support systems (ESSs) are similar to MIS or DSS but easier to use. ESSs are designed specifically for top-level decision makers. ## **Other Information Systems** Many other systems are designed to support information workers who create, distribute, and communicate information. Three such systems are: - **Office automation systems (OASs)**, which support data workers who are involved with distribution and communication of information. Project managers and video-conferencing systems are OASS. - **Knowledge work systems (KWSs)**, which support knowledge workers, who create information. Many engineers use computer-aided design/computer-aided manufacturing (CAD/CAM) systems. - **Expert (knowledge-based) systems**, which are a type of knowledge work system. They use knowledge bases to apply expert knowledge to specific user problems. ## **CAREERS in IT** Information systems managers oversee a variety of other computer professionals. Strong leadership and communication skills are required; experience as a consultant and/or manager is desired. Expected salary range is $90,430 to $208,000. # **VISUAL SUMMARY** ## **DATA ORGANIZATION** Data is organized by the following groups: - **Character** - the most basic logical element, consisting of individual numbers, letters, and special characters. - **Field** - next level, consisting of a set of related characters, for example, a person's last name. A data field represents an attribute (description or characteristic) of some entity (person, place, thing, or object). - **Record** - a collection of related fields; for example, a payroll record consisting of fields of data relating to one employee. - **Table** - a collection of related records; for example, a payroll table consisting of all the employee records. - **Database** - an integrated collection of related tables; for example, a personnel database contains all related employee tables. ## **Key Field** A **key field (primary key)** is the field in a record that uniquely identifies each record. - Tables can be related (connected) to other tables by **key fields**. - Key fields in different files can be used to integrate the data in a database. - Common key fields are employee ID numbers and driver's license numbers. ## **Batch versus Real-Time Processing** Traditionally, data is processed in one of two ways: batch or real-time processing. - **Batch processing** - data is collected over time and then processed later all at one time (batched). For example, monthly credit card bills are typically created by processing credit card purchases throughout the past month. - **Real-time processing (online processing)** - data is processed at the same time the transaction occurs; direct access storage devices make real-time processing possible. For example, a request for cash using an ATM machine initiates a verification of funds, approval or disapproval, disbursement of cash, and an update of the account balance. To efficiently and effectively use computers, you need to understand data fields, records, tables, and databases. You need to be aware of the different ways in which a database can be structured and the different types of databases. Also, you need to know the most important database uses and issues. # **DATABASES** A database is a collection of integrated data-logically related files and records. ## **Need for Databases** Advantages of databases are sharing data, improved security, reduced data redundancy, and higher data integrity. ## **Database Management** A database management system (DBMS) is the software for creating, modifying, and gaining access to the database. A DBMS consists of five subsystems: - DBMS engine provides a bridge between logical and physical data views. - Data definition subsystem defines the logical structure of a database using a **data dictionary** or **schema**. - Data manipulation subsystem provides tools for data maintenance and data analysis; tools include **query-by-example** and **structured query language (SQL)**. - Application generation subsystem provides tools for creating data entry forms with specialized programming languages. - Data administration subsystem manages the database; database administrators (DBAs) are computer professionals who help define processing rights. ## **DBMS STRUCTURE** DBMS programs are designed to work with specific data structures or **database models**. These models define rules and standards for all the data in the database. Five principal database models are hierarchical, network, relational, multidimensional, and object-oriented. - **Hierarchical Database** Hierarchical database uses nodes to link and structure fields and records; entries may have one parent node with several child nodes in a one-to-many relationship. - **Network Database** Network database is like hierarchical except a child node may have more than one parent in a many-to-many relationship; additional connections are called pointers. - **Relational Database** Relational database data is stored in tables (relations); related tables must have a common data item (key field). A table and its data are called a relation. - **Multidimensional Database** Multidimensional databases extend two-dimensional relational tables to three or more dimensions, sometimes called a data cube. Multidimensional databases tend to be more flexible and intuitive than relational databases. - **Object-Oriented Database** Object-oriented databases store data, instructions, and unstructured data. Data is organized using: - **Classes** are general definitions. - **Objects** are specific instances of a class that can contain both data and instructions to manipulate the data. - **Attributes** are the data fields an object possesses. - **Methods** are instructions for retrieving or manipulating attribute values. Object-oriented databases are part of a new category of databases known as **NoSQL**. ## **TYPES OF DATABASES** There are four types of databases: - **Individual (personal computer) database:** Used by one person. - **Company database:** Stored on central server; accessed by multiple people. - **Distributed database:** Spread out geographically; accessed by communications links. - **Commercial databases (information utilities and data banks):** Enormous; for particular subjects. ## **DATABASE USES AND ISSUES** Databases offer a great opportunity for increased productivity; however, security is always a concern. ## **Strategic Uses** Data warehouses support **data mining**. Data mining is a technique for searching and exploring databases for related information and patterns. ## **Security** Two important security concerns are illegal use of data and unauthorized access. Most organizations use **firewalls** to protect their internal networks. ## **CAREERS in IT** Database administrators use database management software to determine the most efficient ways to organize and access a company's data. They are also responsible for database security and system backup. A bachelor's degree in computer science or information systems and technical experience are required. Expected salary range is $47,000 to $111,000. # **VISUAL SUMMARY** ## **SYSTEMS ANALYSIS AND DESIGN** A system is a collection of activities and elements organized to accomplish a goal. **Systems analysis and design** is a six-phase problem-solving procedure that makes up the **systems life cycle**. The phases are: - **Preliminary investigation** - identifying organization's problems or needs and summarizing in short report. - **Systems analysis** - studying present system in depth, specifying new requirements, and documenting findings. - **Systems design** - designing new or alternative system to meet new requirements and creating a design report. - **Systems development** - acquiring, developing, and testing needed hardware and software. - **Systems implementation** - installing new system and training people. - **Systems maintenance** - periodically evaluating and updating system as needed. **Systems analysts** are the computer professionals who typically follow the six-phase systems life cycle. ## **PHASE 1: PRELIMINARY INVESTIGATION** The preliminary investigation determines the need for a new information system. It is typically requested by an end user or a manager. Three tasks of this phase are defining the problem, suggesting alternative systems, and preparing a short report. - **Defining the Problem** The current information system is examined to determine who needs what information, when the information is needed, and why it is needed. If the existing information system is large, then a systems analyst conducts the survey. Otherwise, the end user conducts the survey. - **Suggesting Alternative Systems** Some possible alternative systems are suggested. Based on interviews and observations made in defining the problem, alternative information systems are identified. - **Preparing a Short Report** To document and communicate the findings of Phase 1, preliminary investigation, a short report is prepared and presented to management. To efficiently and effectively use computers, you need to understand the importance of systems analysis and design. You need to know the six phases of the systems development life cycle: preliminary investigation, analysis, design, development, implementation, and maintenance. Additionally, you need to understand prototyping and RAD. ## **PHASE 2: SYSTEMS ANALYSIS** In systems analysis, data is collected about the present system. The focus is on determining the requirements for a new system. Three tasks of this phase are gathering data, analyzing the data, and documenting the analysis. - **Gathering Data** Data is gathered by observation, interviews, questionnaires, and looking at documents. One helpful document is the **organization chart**, which shows a company's functions and levels of management. - **Analyzing the Data** There are several tools for the analysis of data, including **top-down analysis, grid charts, and system flowcharts**. - **Documenting Systems Analysis** To document and communicate the findings of Phase 2, a **systems analysis report** is prepared for higher management. ## **PHASE 3: SYSTEMS DESIGN** In the systems design phase, a new or alternative information system is designed. This phase consists of three tasks: - **Designing Alternative Systems** Alternative information systems are designed. Each alternative is evaluated for: - **Economic feasibility** - cost versus benefits; time for the system to pay for itself. - **Technical feasibility** - hardware and software reliability; available training. - **Operational feasibility** - will the system work within the organization? - **Selecting the Best System** Four questions should be considered when selecting the best system: - Will the system fit into an overall information system? - Will the system be flexible enough to be modified as needed in the future? - Will it be secure against unauthorized use? - Will the system's benefits exceed its costs? - **Writing the Systems Design Report** To document and communicate the findings of Phase 3, a **systems design report** is prepared for higher management. ## PHASE 4: SYSTEMS DEVELOPMENT In the systems development phase, software and hardware are acquired and tested. - **Acquiring Software** Two ways to acquire software are purchasing **off-the-shelf packaged software** and designing **custom programs**. - **Acquiring Hardware** Acquiring hardware involves consideration for future company growth, existing networks, communication capabilities, and training. - **Testing the New System** Using sample data, the new system is tested. This step can take several months for a complex system. ## **PHASE 5: SYSTEMS IMPLEMENTATION** Systems implementation, also known as conversion, is the process of changing to the new system and training people. - **Types of Conversion** Four ways to convert are **direct**, **parallel**, **pilot**, and **phased approaches**. - **Direct approach** - abandoning the old system and starting up the new system; can be very risky and not recommended. - **Parallel approach** - running the old and new side by side until the new system proves its worth; very low risk; however, very expensive; not generally recommended. - **Pilot approach** - converting only one part of the organization to the new system until the new system proves its worth; less expensive but riskier than parallel conversion; recommended for situations with many people performing similar operations. - **Phased approach** - gradually implementing the new system to the entire organization; less risky but more expensive than parallel conversion; recommended for situations with many people performing different operations. - **Training** Training is important, but often overlooked. Some people may train early as the equipment is being delivered so that they can adjust more easily. Sometimes a professional trainer is used; other times the systems analyst acts as the trainer. ## **PHASE 6: SYSTEMS MAINTENANCE** Systems maintenance consists of a systems audit followed by periodic evaluation. - **Systems Audit** Once the system is operational, the systems analyst performs a systems audit by comparing the new system to its original design specifications. - **Periodic Evaluation** The new system is periodically evaluated to ensure that it is operating efficiently. ## **PROTOTYPING AND RAD** Due to time pressures, it is not always feasible to follow every phase of the systems life cycle. Two alternatives that require less time are **prototyping** and **RAD**. - **Prototyping** Prototyping means to build a model or prototype that can be modified before the actual system is installed. Typically, the development time for prototyping is shorter, however, it can be more difficult to manage the project and to control costs. - **Rapid Applications Development** Rapid applications development (RAD) uses powerful development software, small specialized teams, and highly trained personnel. Typically, the development costs more. However, the time is much less and the quality is often better. ## **CAREERS in IT** Systems analysts plan and design new systems or reorganize a company's computer resources to better utilize them. They follow the systems life cycle through all its steps. Either an advanced associate's degree or a bachelor's degree in computer science or information systems and technical experience are required. Expected salary range is $48,000 to $95,000. # **VISUAL SUMMARY** ## **PROGRAMS AND PROGRAMMING** A program is a list of instructions for a computer to follow. **Programming (software development)** is a six-step procedure for creating programs. The steps are: - **Program specification** - defining objectives, inputs, outputs, and processing requirements. - **Program design** - creating a solution using structured programming tools and techniques such as top-down program design, pseudocode, program flowcharts, and logic structures. - **Program code** - writing or coding the program using a programming language. - **Program test** - testing or debugging the program by looking for syntax and logic errors. - **Program documentation** - ongoing process throughout the programming process. - **Program maintenance** - periodically evaluating programs for accuracy, efficiency, standardization, and ease of use and modifying program code as needed. ## **STEP 1: PROGRAM SPECIFICATION** Program specification, also called program definition or program analysis, consists of specifying five tasks related to objectives, outputs, inputs, requirements, and documentation. - **Program Objectives** The first task is to clearly define the problem to solve in the form of program objectives. - **Desired Output** Next, focus on the desired output before considering the required inputs. - **Input Data** Once outputs are defined, determine the necessary input data and the source of the data. - **Processing Requirements** Next, determine the steps necessary (processing requirements) to use input to produce output. - **Program Specifications Document** The final task is to create a specifications document to record this step's program objectives, outputs, inputs, and processing requirements. To efficiently and effectively use computers, you need to understand the six steps of programming: program specification, program design, program coding, program test, program documentation, and program maintenance. Additionally, you need to be aware of CASE, OOP, and the generations of programming languages. ## **STEP 2: PROGRAM DESIGN** In program design, a solution is designed using, preferably, **structured programming techniques**, including the following. - **Top-Down Program Design** In top-down program design, major processing steps, called program modules (or modules), are identified. - **Pseudocode** Pseudocode is an outline of the logic of the program you will write. - **Flowcharts** Program flowcharts are graphic representations of the steps necessary to solve a programming problem. - **Logic Structures** Logic structures are arrangements of programming statements. Three types are - **Sequential** - one program statement followed by another. - **Selection (IF-THEN-ELSE)** - when a decision must be made. - **Repetition (loop)** - when a process is repeated until the condition is true. ## **STEP 3: PROGRAM CODE** Coding is writing a program. There are several important aspects of writing a program. Two are writing good programs and actually writing or coding. - **Good Programs** Good programs are reliable, detect obvious and common errors, and are well documented. The best way to create good programs is to write **structured programs** using the three basic logic structures presented in Step 2. - **Coding** There are hundreds of different programming languages. **Programming languages** instruct a computer to perform specific operations. C++ is a widely used programming language. ## **STEP 4: PROGRAM TEST** **Debugging** is a process of testing and eliminating errors in a program. Syntax and logic are two types of programming errors. - **Syntax Errors** Syntax errors are violations of the rules of a programming language. For example, omitting a semicolon at the end of a C++ statement is a syntax error. - **Logic Errors** Logic errors are incorrect calculations or procedures. For example, failure to include calculation of overtime hours in a payroll program is a logic error. - **Testing Process** Five methods for testing for syntax and logic errors are: - **Manual testing** - using a calculator and sample data to test for correct programming logic. - **Desk checking (code review)** - careful reading of a printout of the program. - **Attempt at translation** - running the program using a translator program to identify syntax errors. - **Testing sample data** - running the program and testing the program for logic errors using sample data. - **Testing by users (beta testing)** - final step in which potential users try the program and provide feedback. ## **STEP 5: PROGRAM DOCUMENTATION** Program documentation consists of a written description of the program and the procedures for running it. People who use documentation include: - **Users**, who need to know how to use the program. Some organizations offer training courses; others expect users to learn from written documentation. - **Operators**, who need to know how to execute the program and how to recognize and correct errors. - **Programmers**, who may need to update and maintain the program in the future. Documentation could include text and program flowcharts, program listings, and sample outputs. ## **STEP 6: PROGRAM MAINTENANCE** Program maintenance is designed to ensure that the program operates correctly, efficiently, and effectively. Two categories of maintenance activities are the following. - **Operations** Operations activities include locating and correcting errors, improving usability, and standardizing software. Software updates are known as patches. Significant patches are called software updates. - **Changing Needs** Organizations change over time, and their programs must change with them. **Agile development** starts with core program functionality and expands until the customer is satisfied with the results. # **CASE AND OOP** - **CASE** Computer-aided software engineering (CASE) tools provide automation and assistance in program design, coding, and testing. - **OOP** Traditional systems development focuses on procedures to complete a specific objective. **Object-oriented software development** focuses less on procedures and more on defining relationships between previously defined procedures or objects. **Object-oriented programming (OOP

Use Quizgecko on...
Browser
Browser