Wednesday, October 12, 2016

Chapter 14 : Enterprise Computing

   
              Types of enterprises include :
  1.        Retail
  2.        Manufacturing
  3.        Service
  4.        Wholesale
  5.        Government
  6.        Educational     
  7.        Transportation
  •        Most traditional enterprises are organized in a hierarchical manner
  •        In an enterprise, users typically fall into one of four categories:
  1.        Executive Management
  2.        Middle Management
  3.        Operational Management
  4.        Non-management Employees
      -Enterprise information is the information gathered in the ongoing operations of an        enterprise-sized organization
  1.        Business intelligence
  2.        Business process management
  3.        Business process automation
   
 -Managers coordinate resources by performing four activities
  1.        Planning
  2.        Organizing
  3.        Leading
  4.        Controlling


Information Systems in the Enterprise
  • An information system is a set of hardware, software, data, people, and procedures that work together to produce information
  •  Functional units within an enterprise might include:
    • Enterprise
    • Accounting and Finance
    • Human Resources
    • Engineering or Product Development
    •  Manufacturing
    •  Marketing
    •  Sales
    • Distribution
    • Customer Service
    • Technology
  • Accounting software manages everyday transactions
  • Billing software helps the company reconcile purchases with customer payments
  • Financial software helps managers budget, forecast, and analyze
  • human resources information system (HRIS) manages one or more human resources functions.
  • Employee relationship management systems manage communication between employees and the business.
  • Computer-aided design (CAD) uses a computer and special software to aid in engineering, drafting, and design.
  • Computer-aided engineering (CAE) uses computers to test product designs.
  • Computer-aided manufacturing (CAM) is the use of computers to control production equipment.
  • Computer-integrated manufacturing (CIM) uses computers to integrate the many different operations of the manufacturing process.
  • Material Requirements Planning (MRP) uses software to help monitor and control processes related to production.
  • Manufacturing Resource Planning II (MRP II) is an extension of MRP and also includes software that helps in scheduling.
  • A quality control system helps an organization maintain or improve the quality of its products or services.
  • A marketing information system serves as a central repository for the tasks of a marketing department.
  • Sales force automation (SFA) software equips traveling salespeople with the electronic tools they need to be more productive.
  • Distribution systems perform the following functions:
    1. Provide forecasting for inventory control
    2. Manage and track shipping of products
    3. Provide information and analysis on inventory in a warehouse
  • Customer interaction management (CIM) software manages the day-to-day interactions with customers.
  • The information technology (IT) department makes technology decisions for the enterprise.
    1. Whether to build or buy new information systems
    2. When a computer or information system has outlived its useful life
  • Web site management programs collect data designed to help organizations make informed decisions regarding their Web presence
  • General purpose information systems generally fall into one of five categories.
    1. Office Information System
    2. Transaction Processing System
    3. Management Information System
    4. Decision Support System
    5. Expert System
  • Batch processing vs. online transaction processing.
  • A Sample Expert System In Windows 7 Help and Support
    • Step 1: A user enters the nature of the problem.
    • Step 2: Select a suggested solution from the list presented by the expert system.
    • Step 3: Expert system displays details about the solution and additional options.
    • Step 4: Expert system displays detailed steps when requested.
  • ·        Integrated Information Systems
    o   Customer relationship management manages information about customers, interactions with customers, past purchases, and interests
    o   Enterprise resource planning provides centralized, integrated software to help manage and coordinate ongoing activities
    o   Content management systems are information systems that combine databases, software, and procedures.

Enterprise-Wide Technologies and Methodologies
  • Some technologies used in enterprises include:
    • Portals
      • portal is a collection of links, content, and services presented on a Web page that are interesting for a particular job function.
    • Data warehouses
      • data warehouse is a huge database that stores and manages the data required to analyze historical and current transactions.
    • Electronic data interchange
      • EDI is a set of standards that controls the transfer of business data and information among computers both within and among enterprises.
    • Extranets
      • An extranet is the portion of a company’s network that allows customers or suppliers of a company to access parts of an enterprise’s intranet.
    • Web services
      • Web services allow businesses to create products and B2B interactions over the Internet.
      • In a service-oriented architecture, information systems provide services to other information systems in a well-defined manner over a network.
    • Document management systems
      • document management system (DMS) allows for storage and management of a company’s documents
        • Stored in a repository
    • Workflow
      • workflow is a defined process that identifies the specific set of steps involved in completing a particular project or business process.
        • Workflow application
    • Virtual private networks
      • virtual private network (VPN) provides mobile users, vendors, and customers with a secure connection to the company network server.


Virtualization and Cloud Computing
  • Virtualization is the practice of sharing or pooling computing resources.
    • Server virtualization
      • Provides the capability to divide a physical server logically into many virtual servers.
    • Storage virtualization
      • Provides the capability to create a single logical storage device from many physical storage devices.
  • Cloud computing is an Internet service that provides computing needs to computer users.
  • Grid computing combines many servers and/or personal computers on a network to act as one large computer.


Enterprise Hardware
  • Enterprise hardware allows large organizations to manage and store information and data using devices geared for:.
    • Heavy use
    • Maximum availability
    • Maximum efficiency
  • RAID duplicates data and implements duplication in different ways.
  • Network attached storage (NAS) is a server that provides storage to users and information systems attached to the network.
  • storage area network (SAN) is a high-speed network that provides storage to other servers to which it is attached.
  • An enterprise storage system is a strategy that focuses on the availability, protection, organization, and backup of storage in a company.
  • Goal is to consolidate storage.
  • blade server packs a complete computer server on a single card (called a blade) rather than a system unit.
  • The individual blades insert in a blade server chassis.
  • thin client is a small terminal-like computer that mostly relies on a server for data storage and processing.
  • The processing for a thin client usually is done on a server.



High Availability, Scalability, and Interoperability
  • A high-availability system continues running and performing tasks for at least 99 percent of the time.
    • May include hot-swapping and redundant components.
      • When a component fails, another component takes over and the system continues to function.
  • Scalability is a measure of how well computer hardware, software, or an information system can grow to meet increasing performance demands.
  • Interoperability is the ability for an information system to share information with other information systems within an enterprise.

Backup Procedures
  •  Continuous data protection provides automatic data backup whenever data is changed in an enterprise.
  • disaster recovery plan is a written plan describing the steps a company would take to restore computer operations in the event of a disaster.
  • Contains four major components.
    1. Emergency plan
    2. Backup plan
    3. Recovery plan
    4. Test plan 

Wednesday, October 5, 2016

Chapter 13 : Computer Programs and Programming Language

Computer Programs and Programming Languages
  • computer program is a series of instructions that directs a computer to perform tasks.
  • Created by a programmer using a programming language.

Low‐Level Languages
  1. Machine language is the first generation of programming languages.
  2. Only language the computer directly recognizes.
  3. Assembly language is the second generation of programming languages.
  4. Programmer writes instructions using  symbolic instruction codes.
  5. source program contains the code to be converted to machine language.
Procedural Languages
  • In a procedural language, the programmer writes instructions that tell the computer what to accomplish and how to do it.
  • Third-generation language (3GL)
      • A compiler translates an entire program before executing it.
      • An interpreter converts and executes one code statement at a time.
  • The C programming language is used to write many of today’s programs.
  • COBOL (COmmon Business-Oriented Language) is designed for business applications, but easy to read because of the English-like statements.
Object-Oriented Programming Languages and Program Development Tools
  • An object-oriented programming (OOP) language allows programmers the ability to reuse and modify existing objects.
  • Other advantages include:
    1. objects can be reused
    2. programmers create applications faster
    3. work well in a RAD environment
    4. most program development tools are IDEs
  • Java is an object-oriented programming language developed by Sun Microsystems.
  • The Just-in-time (JIT) compiler converts the bytecode into machine-dependent code.
  • The Microsoft .NET Framework allows almost any type of program to run on the Internet or an internal business network, as well as computers and mobile devices.
  • Features include:
    1. CLR (Common Language Runtime) 
    2. Classes
  • C++ is an extension of the C programming language.
  • C# is based on C++ and was developed by Microsoft.
  • F# combines the benefits of an object-oriented language with those of a functional language.
  • Visual Studio is Microsoft’s suite of program development tools:
    1. Visual Basic is based on the BASIC programming language
    2. Visual C++ is based on C++
    3. Visual C# combines the programming elements of C++ with an easier, rapid-development environment
  • A visual programming language is a language that uses a visual or graphical interface for creating all source code.
  • Borland’s Delphi is a powerful program development tool that is ideal for building large-scale enterprise and Web applications in a RAD environment.
  • PowerBuilder is a powerful program development RAD tool.
  • Best suited for Web-based, .NET, and large-scale enterprise object-oriented applications.
Other Programming Languages and Development Tools
  • A 4GL (fourth-generation language) is a non-procedural language that enables users and programmers to access data in a database.
    • One popular 4GL is SQL
  • Classic programming languages include:
    1. Ada
    2. ALGOL
    3. APL
    4. BASIC
    5. Forth
    6. FORTRAN
    7. HperTalk
    8. LISP
    9. Logo
    10. Modula-2
    11. Pascal
    12. PILOT
    13. PL/1
    14. Prolog
    15. RPG
    16. Smalltalk
  • An application generator is a program that creates source code or machine code from a specification of the required functionality.
    • Often bundled as part of a DBMS
  • macro is a series of statements that instructs an application how to complete a task.
  • You usually create the macro in one of two ways:
    1. Record the macro with a macro recorder
    2. Write the macro
Web Page Development
  • HTML is a special formatting language that programmers use to format documents for display on the Web.
  • XHTML is a markup language that allows Web sites to be displayed more easily on mobile devices.
  • XML allows Web developers to create customized tags and use predefined tags to display content appropriately on various devices.
  • WML is a subset of XML and is used to design pages for microbrowsers.
  • Two applications of XML are RSS 2.0 and ATOM.
  • Web browsers can execute short programs to add interactive elements to Web pages.
  • To send and receive information between your computer and a Web server, these programs use the CGI (common gateway interface).
  • Programmers write scripts, applets, servlets, or ActiveX controls using a variety of languages:
  • JavaScript
  • Perl
  • PHP
  • Rexx
  • Tcl
  • VBScript
  • Dynamic HTML  (DHTML) allows Web developers to include more graphical interest and interactivity.
  • Cascading style sheets (CSS) contain the formats for how a particular object should be displayed.
  • Ruby on Rails (RoR) provides technologies for developing object-oriented, database-driven Web sites.
  • Web 2.0 allows Web sites to provide a means for users to:
    1. Share personal information
    2. Allow users to modify Web site content
    3. Have application software built into the site
  • Most Web 2.0 sites use APIs
    • An API enables programmers to interact with an environment such as a Web site or operating system.
  • Web page authoring software can create sophisticated Web pages that include images, video, audio, animation, and other effects
    1. Dreamweaver
    2. Expression Web
    3. Flash
    4. SharePoint Designer
Multimedia Program Development
  • Multimedia authoring software allows programmers to combine text, graphics, animation, audio, and video in an interactive presentation.
    • ToolBook
    • Director
  • Program development consists of a series of steps programmers use to build computer programs.
Step 1 – Analyze Requirements
  1. To initiate program development, programmer:
  2. Reviews the requirements
  3. Meets with the systems analyst and users
  4. Identifies input, processing, and output
  5. IPO chart
Step 2 – Design Solution
  • Design a solution algorithm.
  • In structured design, the programmer typically begins with a general design and moves toward a more detailed design.
  • Programmers use a hierarchy chart to show program modules graphically.
  • With object-oriented (OO) design, the programmer packages the data and the program into a single object
    • Encapsulation
  • The sequence control structure shows one or more actions following each other in order.
  • The selection control structure tells the program which action to take, based on a certain condition.
    • If then else
    • Case
  • The repetition control structure enables a program to perform one or more actions repeatedly as long as a certain condition is met.
  • A program flowchart graphically shows the logic in a solution algorithm.
  • Flowcharting software makes it easy to modify and update flowcharts
    • SmartDraw
    • Visio
  • Pseudocode uses a condensed form of English to convey program logic.
  • UML (Unified Modeling Language) has been adopted as a standard notation for object modeling and development.
Step 3 – Validate Design
  • Check for logic errors using test data
  • Develop various sets of test data
  • Determine the expected result
  • Step through the algorithm
  • Compare the results
  • Repeat steps for each set of test data
Step 4 – Implement Design
  • Implementation of the design includes using a program development tool that assists the programmer by:
    1. Generating or providing some or all code
    2. Writing the code that translates the design into a computer program
    3. Creating the user interface
  • Extreme programming is a strategy where programmers immediately begin coding and testing solutions as soon as requirements are defined.
Step 5 – Test Solution
  • The goal of program testing is to ensure the program runs correctly and is error free.
  • Errors include syntax errors and logic errors.
  • Debugging the program involves removing the bugs.
  • A beta is a program that has most or all of its features and functionality implemented.
Step 6 – Document Solution
  • In documenting the solution, the programmer performs two activities:
    1. Review the program code
    2. Review all the documentation