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

Thursday, September 29, 2016

Chapter 12 : Exploring Information System Development

  • System development is a set of activities used to build an information system.
    1. A system is a set of components that interact to achieve a common goal.
    2. An information system (IS) is a collection of hardware, software, data, people, and procedures that work together to produce quality information.
    3. System development activities are grouped into phases, collectively called the system development life cycle (SDLC).
Ongoing Activities :
    1. Project management
    2. Feasibility assessment
    3. Documentation
    4. Data/information gathering
Planning :
    1. Review project requests
    2. Prioritize project requests
    3. Allocate resources
    4. Form project development team
Analysis :
    1. Conduct preliminary investigation
    2. Perform detailed analysis activities:
    3. Study current system
    4. Determine user requirements
    5. Recommend solution
Design :
    1. Acquire hardware and software,if necessary
    2. Develop details of system
Implementation :
    1. Develop programs,if necessary
    2. Install and test new necessry
    3. Train users
    4. Convert to new system
Operation,Support,and Security :
    1. Perform maintenance activities
    2. Monitor system performance
    3. Assess system security 

  • System development should follow three general guidelines:
    1. Group activities or tasks into phases
    2. Involve users
    3. Define standards
  • System development should representatives from each department in which the proposed system will be used.
  • Project management is the process of planning, scheduling, and then controlling the activities during system development.
  • To plan and schedule a project efficiently, the project leader identifies:
    1. Projectscope
    2. Required activities
    3. Time estimates for each activity
    4. Cost estimates for each activity
    5. Order of activities
    6. Activities that can take place at the same time
  • Feasibility is a measure of how suitable the development of a system will be to the organization.
    1. Operational feasibility
    2. Schedule feasibility
    3. Technical feasibility
    4. Economic feasibility
  • Documentation is the collection and summarization of data and information.
  • A project notebook contains all documentation for a single project.
  • Users and IT professionals refer to existing documentation when working with and modifying current systems.
  • During system development,members of the project team gather data and information using several techniques.
    1. Review documentation
    2. Observe
    3. Survey
    4. Interview
    5. JAD Sessions
    6. Research
Who Initiates a System Development Project
  1. A user may request a new or modified system
  2. Organizations may want to improve hardware, software, or other technology
  3. Situations beyond an organization's control might  require a change
  4. Management might mandate a change
  5. A user may request a new or modified information system using a request for system services or a project request.
Planning Phase :
  • The planning phase for a project begins when the steering committee receives a project request.
  • Four major activities are performed:
    1. Review and approve the project requests
    2. Prioritize the project requests
    3. Allocate resources
    4. Form a project development team 


Analysis Phase
  • The analysis phase consists of two major activities:
    • Conduct a preliminary investigation
      1. Determines and defines the exact nature of the problem or improvement.
      2. Interview the user who submitted the request
    • Perform detailed analysis
      1. Study how the current  system works
      2. Determine the users' wants, needs, and requirement
      3. Recommend a solution
  • Process modeling( structured analysis and design) is an analysis and design techniquethat describes processes that transform inputs into outputs
    1. Entity-relationship diagrams
    2. Data flow diagrams
    3. Project dictionary
  • An entity-relationship diagram (ERD) is a tool that graphically shows the connections among entities in a system.
  • Entities are objects in the system that have data.
  • data flow diagram (DFD) is a tool that graphically shows the flow of data in a system.
    1. Data flow
    2. Processes
    3. Data stores
    4. Sources
  •  The project dictionary contains all the documentation and deliverables of a project.
  • Structured English is a style of writing that describes the steps in a process.
  • decision table is a table that lists a variety of conditions and the actions that correspond to each condition.
  • A decision tree also shows conditions and actions, but it shows them graphically.
  • The  data dictionary stores the data item's name, description, and other details about each data item.
  • Object modeling combines the data with the processes that act on that data into a single unit, called an object.
  • UML (Unified Modeling Language) has been adopted as a standard ntation for object modelig and development
    • UML includes 13 different diagrams
    • Two diagrams include :
      • Use case diagram
        1. A use case diagram graphically shows how actors (users) interact with the information system.
        2. Diagrams are considered easy to understand.
      • Class diagram
        1. A class diagram graphically shows classes and subclasses in a system.
        2. Each class can have one or more subclasses.
        3. Subclasses use inheritance methods and attributes of higher levels.
  • The system proposal assesses the feasibility of each alternative solution.
  • The steering committee discusses the system proposal and decides which alternative to purpyse
    1. Packaged software
    2. Custom software
    3. Outsourcing
Design Phase
  • The design phase consists of two major activities
    1. Acquire hardware and software
    2. Develop all of the details of the new or modified information system
  • To acquire the necessary hardware and software:
  • Identify technical specifications
  • Use research techniques such as e-zines
  • Solicit vendor proposals
  • RFQ,RFP. or RFI is sent to potential vendors VARs
  • Test and evaluate vendor proposals
  • Various techniques are used to determine the best proposal
  • Make a decision
  • System analyst makes recommendation to steering committee
  • The next step is to develop detailed design specifications
    • Sometimes called a physical design
      1. Database design
      2. Input and output design
      3. Program design
  • Systems analyst typically develop two types of designs fr each input and output.
  • A prototype (proof of concept) is a working model of the proposed system 
    1. Prototypes have inadequate or missing documentation
    2. Users tend to embrace the prototype as a final system
    3. Should not eliminate or replace activities
  • Computer-aided software engineering (CASE) tools are designed to support one or more activities of system development.
  • CASE  tools sometimes contain the following tools:
    1. Project repository
    2. Graphically
    3. Prototyping
    4. Quality assurance
    5. Code generator
    6. Housekeeping
  • Many people should review the detailed design specifications.
  • An inspection is a formal review of any system development deliverable
    • A team examines the deliverables to identify errors
Implementation Phase
  • The purpose of the implementation phase is to construct the new or modified system and then deliver it
  • Develop programs
  • Install and test the new system 
  • Train users
  • Convert to the new system
  • The program development life cycle follows these steps:
    1. Analyze the requirements
    2. Design the solution
    3. Validate the design
    4. Implement the design
    5. Test the solution
    6. Document the solution
  • Various tests should be performed on the new system
              1.Unit test
        • Verifies that each individual program or object works by itself
                  2.System test
        • Verifies that all programs in an application work together properly
                  3.Integration test
        • Verifies that an application work with other applications
                  4.Acceptance test
        •  Checks the new system to ensure that it works with actual data
    • Training involves showing users exactly hoe they will use the new hardware and software in the system.
      1. One on one sessions
      2. Classroom style lectures
      3. Web based training
    •  One or more f four conversion strategies can be used to change from the old system to the new system.
    Operation, Support, and Security Phase
    • The purpose of the operation, support, and security phase is to provide ongoing assistance for an information system and its users after the system is implemented.
      1. Perform maintenance activities
      2. Monitor system performance
      3. Assess system security
    •  A computer security plan should do the following:
      1. Identify all information assets of an organization
      2. Identify all security risks that may cause an information asset loss
      3. For each risk, identify the safeguard that exist to detect, prevent, and recover from a loss