Quiz 3 Flashcards

1
Q

Operating systems vs application software

A

Operating systems manage the hardware and create the interface between the hardware and the user. Application software performs specific tasks such as word processing, accounting, database management, video games, or browsing the web.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Operating systems key functions

A
  1. managing the hardware resources of the computer;
  2. providing the user-interface components;
  3. providing a platform for software developers to write applications.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Why is Microsoft so dominant in the business world?

A

When businesses migrated to the microcomputer (personal computer) market, they elected to stay with IBM and chose the PC. Companies took the safe route, invested in the Microsoft operating system and in Microsoft software/applications.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Killer application

A

A “killer” application is one that becomes so essential that large numbers of people will buy a device just to run that application. For the personal computer, the killer application was the spreadsheet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Main productivity software

A

Word processing, spreadsheet, presentation, databases, email

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Utility software and programming software

A

Utility software includes programs that allow you to fix or modify your computer in some way. Examples include anti- malware software and programs that totally remove software you no longer want installed. These types of software packages were created to fill shortcomings in operating systems.

Programming software’s purpose is to produce software. Most of these programs provide developers with an environment in which they can write the code, test it, and convert/compile it into the format that can then be run on a computer. This software is typically identified as the Integrated Development Environment (IDE) and is provided free from the corporation that developed the programming language that will be used to write the code.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

When you purchase software do you own it?

A

When you purchase software and install it on your computer, are you the owner of that software? Technically, you are not! When you install software, you are actually just being given a license to use it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Enterprise Resource Planning

A

ERP software utilizes a central database that is implemented throughout the entire organization. Here are some key points about ERP.
• A software application. ERP is an application that is used by many of an organization’s employees.
• Utilizes a central database. All users of the ERP edit and save their information from the same data source. For example, this means there is only one customer table in the database, there is only one sales (revenue) table in the database, etc.
• Implemented organization-wide. ERP systems include functionality that covers all of the essential components of a business. An organization can purchase modules for its ERP system that match specific needs such as order entry, manufacturing, or planning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Customer Relationship Management

A

A Customer Relationship Management (CRM) system manages an organization’s customers.
used to support customer-related sales and marketing activities

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Supply Chain Management

A

A Supply Chain Management (SCM) system handles the interconnection between these links as well as the inventory of the products in their various stages of development. At its simplest, a supply chain is the linkage between an organization’s suppliers, its manufacturing facilities, and the distributors of its products.
systems that can help a firm manage aspects of its value chain, from the flow of raw materials into the firm through delivery of finished products and services at the point-of-consumption

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Cloud Computing

A

The “cloud” refers to applications, services, and data storage located on the Internet. Cloud service providers rely on giant server farms and massive storage devices that are connected via the Internet. Cloud computing allows users to access software and data storage services on the Internet.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Private Cloud

A

While there are various models of a private cloud, the basic idea is for the cloud service provider to section off web server space for a specific organization. The organization has full control over that server space while still gaining some of the benefits of cloud computing.
pools of computing resources that reside inside an organization and that can be served up for specific tasks as need arrives.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Virtualization

A

Virtualization is the process of using software to simulate a computer or some other device. Organizations implement virtual machines in an effort to reduce the number of physical servers needed to provide the necessary services to users. This reduction in the number of physical servers also reduces the demand for electricity to run and cool the physical servers.

Think of virtualization as being a kind of operating system for operating systems. A server running virtualization software can create smaller compartments in memory that each behave as a separate computer with its own operating system and resources. Virtualization software allows one computing device to function as many. The most sophisticated products also make it easy for organizations to scale computing requirements across several servers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Closed source

A

. This led to a new business model of restrictive software licensing which required payment for software, a model that is still dominant today. This model is sometimes referred to as closed source, as the source code is not made available to others.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Software

A

Software gives the instructions that tell the hardware what to do.
Software refers to a computer program or collection of programs—sets of instructions that tell the hardware what to do.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Systems development life cycle

A

Various definitions of the SDLC methodology exist, but most contain the following phases.

  1. Preliminary Analysis. A request for a replacement or new system is first reviewed.
  2. System Analysis. In this phase one or more system analysts work with different stakeholder groups to determine the specific requirements for the new system.
  3. System Design. In this phase, a designer takes the system requirements document created in the previous phase and develops the specific technical details required for the system.
  4. Programming. The code finally gets written in the programming phase. Using the system design document as a guide, programmers develop the software.
  5. Testing. In the testing phase the software program developed in the programming phase is put through a series of structured tests.
  6. Implementation. Once the new system is developed and tested, it has to be implemented in the organization.
  7. Maintenance. This final phase takes place once the implementation phase is complete.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

Rapid application development (RAD)

A
  1. Requirements Planning. In this phase the overall requirements for the system are defined, a team is identified, and feasibility is determined.
  2. User Design. In the user design phase representatives of the users work with the system analysts, designers, and programmers to interactively create the design of the system.
  3. Construction. In the construction phase the application developers, working with the users, build the next version of the system through an interactive process. Changes can be made as developers work on the program. This step is executed in parallel with the User Design step in an iterative fashion, making modifications until an acceptable version of the product is developed.
  4. Cutover. Cutover involves switching from the old system to the new software. Timing of the cutover phase is crucial and is usually done when there is low activity.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q
Agile Methodologies
(Agile and iterative development)
A

Agile methodologies are a group of methodologies that utilize incremental changes with a focus on quality and attention to detail. Each increment is released in a specified period of time (called a time box), creating a regular release schedule with very specific objectives.
1. Plan 2. Collaborate 3. Deliver

The goal of agile methodologies is to provide the flexibility of an iterative approach while ensuring a quality product.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q
Lean Methodology
(non iterative)
A

Lean focuses on taking an initial idea and developing a Minimum Viable Product (MVP). The MVP is a working software application with just enough functionality to demonstrate the idea behind the project.
Once the MVP is developed, the development team gives it to potential users for review. Feedback on the MVP is generated in two forms. First, direct observation and discussion with the users and second, usage statistics gathered from the software itself. Using these two forms of feedback, the team determines whether they should continue in the same direction or rethink the core idea behind the project, change the functions, and create a new MVP. This change in strategy is called a pivot. Several iterations of the MVP are developed, with new functions added each time based on the feedback, until a final product is completed.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Iterative vs non iterative methods

A

The biggest difference between the iterative and non-iterative methodologies is that the full set of requirements for the system are not known when the project is launched. As each iteration of the project is released, the statistics and feedback gathered are used to determine the requirements.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

The quality triangle

A

The quality triangle is a simple concept. It states that for any product or service being developed, you can only address two of the following: time, cost, and quality.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Generations of programming languages

A

First generation languages were called machine code because programming was done in the format the machine/computer could read. So programming was done by directly setting actual ones and zeroes (the bits) in the program using binary code. (Machine code)

Assembly language is the second-generation language and uses English-like phrases rather than machine-code instructions, making it easier to program. An assembly language program must be run through an assembler, which converts it into machine code. (Assembly language uses assembler)

Third-generation languages (Java, C, Basic, C++) are not specific to the type of hardware on which they run and are similar to spoken languages. Most third-generation languages must be compiled. The developer writes the program in a form known generically as source code, then the compiler converts the source code into machine code, producing an executable file. (Program is written as a source code and compiled using a
compiler)

Fourth-generation languages (SQL) are a class of programming tools that enable fast application development using intuitive interfaces and environments. Many times, a fourth-generation language has a very specific purpose, such as database interaction or report-writing. (Use of interfaces and tools, enables quick application
development)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Compiled vs Interpreted

A

In a compiled language the program code is translated into a machine-readable form called an executable that can be run on the hardware.
Interpreted languages require a runtime program to be installed in order to execute. Each time the user wants to run the software the runtime program must interpret the program code line by line, then run it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
24
Q

Procedural Programming Language vs Object Oriented Programming

A

A procedural programming language is designed to allow a programmer to define a specific starting point for the program and then execute sequentially.
An object- oriented programming language is designed so that the programmer defines “objects” that can take certain actions based on input from the user.
In other words, a procedural program focuses on the sequence of activities to be performed while an object- oriented program focuses on the different items being manipulated.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
25
Q

Integrated Development Environment (IDE)

A

An IDE provides a variety of tools for the programmer, and usually includes:
• Editor. An editor is used for writing the program. Commands are automatically color coded by the IDE to identify command types.
• Help system. A help system gives detailed documentation regarding the programming language.
• Compiler/Interpreter. The compiler/interpreter converts the programmer’s source code into machine language so it can be executed/run on the computer.
• Debugging tool. Debugging assists the developer in locating errors and finding solutions.
• Check-in/check-out mechanism. This tool allows teams of programmers to work simultaneously on a program without overwriting another programmer’s code.

26
Q

Computer Aided Software Engineering (CASE)

A

Computer- Aided Software Engineering (CASE) tools allow a designer to develop software with little or no programming. Instead, the CASE tool writes the code for the designer.

27
Q

Differences for writing mobile apps

A
  1. Breakthroughs in component technologies.
  2. Sensors have unlocked the notion of context.
  3. Simple, purpose-built, task-oriented apps are easy to
    use.
  4. Immediate access to data extends the value proposition.
  5. App stores have simplified acquisition.
28
Q

Web services

A

web services allows companies to license functions provided by other companies instead of writing the code themselves.

29
Q

End User Computing (EUC)

A

Especially in larger organizations, other departments develop their own department-specific applications. The people who build these applications are not necessarily trained in programming or application development, but they tend to be adept with computers. A person who is skilled in a particular program, such as a spreadsheet or database package, may be called upon to build smaller applications for use by their own department. This phenomenon is referred to as end-user development, or end-user computing. (Does not involve the companies IT department/shadow IT- not gone through normal standard rigorous testing processes)

30
Q

There are several different methodologies an organization can adopt to implement a new system. Four of the most popular are listed below.

A
  • Direct cutover. In the direct cutover implementation methodology, the organization selects a particular date to terminate the use of the old system. On that date users begin using the new system and the old system is unavailable. Direct cutover has the advantage of being very fast and the least expensive implementation method. However, this method has the most risk. If the new system has an operational problem or if the users are not properly prepared, it could prove disastrous for the organization.
  • Pilot implementation. In this methodology a subset of the organization known as a pilot group starts using the new system before the rest of the organization. This has a smaller impact on the company and allows the support team to focus on a smaller group of individuals. Also, problems with the new software can be contained within the group and then resolved.
  • Parallel operation. Parallel operations allow both the old and new systems to be used simultaneously for a limited period of time. This method is the least risky because the old system is still being used while the new system is essentially being tested. However, this is by far the most expensive methodology since work is duplicated and support is needed for both systems in full.
  • Phased implementation. Phased implementation provides for different functions of the new application to be gradually implemented with the corresponding functions being turned off in the old system. This approach is more conservative as it allows an organization to slowly move from one system to another.
31
Q

Firmware and embedded systems

A

Control programs stored on chips are sometimes referred to as firmware.
Embedded systems are special-purpose computer systems designed to perform one or a few dedicated functions, and are frequently built into conventional products like cars, air conditioners, and elevators. Embedded systems can make products and services more efficient, more reliable, more functional, and can enable entire new businesses and create or reinforce resources for competitive advantage.The software programs that make up embedded systems are often stored as firmware too.

32
Q

Desktop vs enterprise software

A

Desktop software refers to applications installed on a personal computer. Enterprise software refers to applications that address the needs of multiple, simultaneous users in an organization or work group.

33
Q

business intelligence (BI) systems

A

use data created by other systems to provide reporting and analysis for organizational decision making

34
Q

database management system (DBMS)

A

Most enterprise software works in conjunction with a database management system (DBMS), sometimes referred to as a “database system.” The database system stores and retrieves the data that an application creates and uses.

35
Q

Distributed computing

A

When computers in different locations can communicate with one another, this is often referred to as distributed computing. Distributed computing can yield enormous efficiencies in speed, error reduction, and cost savings and can create entirely new ways of doing business.

36
Q

Client-server system

A

Client-server refers to two pieces of software, a client that makes a request, and a server that receives and attempts to fulfill the request.

37
Q

server

A

(1) in a hardware context a server is a computer that has been configured to support requests from other computers and (2) in a software context a server is a program that fulfills requests. Most of the time, server software resides on server-class hardware, but you can also set up a PC, laptop, or other small computer to run server software, albeit less powerfully.

38
Q

Application server

A

The application server (or app server) houses business logic for a distributed system. Individual Web services served up by the app server are programmed to perform different tasks: returning a calculation (“sales tax for your order will be $11.58”), accessing a database program (“here are the results you searched for”), or even making a request to another server in another organization.
Web services are software systems designed to support interoperable machine-to-machine interaction over a network

39
Q

API’s

A

Each Web service defines the standard method for other programs to request it to perform a task and defines the kind of response the calling client can expect back. These standards are referred to as application programming interfaces (APIs).

40
Q

SOA service oriented architecture

A

Organizations that have created a robust set of Web services around their processes and procedures are said to have a service-oriented architecture (SOA). Organizing systems like this, with separate applications in charge of client presentation, business logic, and database, makes systems more flexible. Code can be reused, and each layer can be separately maintained, upgraded, or migrated to new hardware—all with little impact on the others.

41
Q

Messaging Standards (EDI and XML)

A

EDI (electronic data interchange) is a set of standards for exchanging information between computer applications. EDI is most often used as a way to send the electronic equivalent of structured documents between different organizations.
Chief among the technologies replacing EDI is extensible markup language (XML). XML has lots of uses, but in the context of distributed systems, it allows software developers to create a set of standards for common data elements that, like EDI messages, can be sent between different kinds of computers, different applications, and different organizations. XML is often thought of as easier to code than EDI, and it’s more robust because it can be extended

42
Q

Scripting languages

A

Scripting languages typically execute within an application. Scripting languages are interpreted within their applications, rather than compiled to run directly by a microprocessor. This distinction makes them slower than the kinds of development efforts found in most commercial software. But most scripting languages are usually easy to use, and are often used both by professional programmers and power users.

43
Q

Compliance

A

that the system operates within the firm’s legal constraints and industry obligations

44
Q

Total Cost of Ownership (TCO)

A

The care and feeding of information systems can be complex and expensive. The total cost of ownership of systems can include software development and documentation, or the purchase price and ongoing license and support fees, plus configuration, testing, deployment, maintenance, support, training, compliance auditing, security, backup, and provisions for disaster recovery.
Firms spend 70 to 80 percent of their IS budgets just to keep their systems running.

45
Q

capability maturity model integration (CMMI)

A

which gauge an organization’s process maturity and capability in areas critical to developing and deploying technology projects, and provides a carefully chosen set of best practices and guidelines to assist quality and process improvement

46
Q

LAMP

A

Open source is big on the Web. In fact, you’ll often hear Web programmers and open source advocates refer to the LAMP stack. LAMP is an acronym that stands for the Linux operating system, the Apache Web server software, the MySQL database, and any of several programming languages that start with the letter “P”—Perl, Python, and PHP

47
Q

Benefits of open source software

A

The most widely cited benefits of using OSS include low cost; increased reliability; improved security and auditing; system scalability; and helping a firm improve its time to market.

48
Q

Security focused (hardened)

A

“Hardened” versions of OSS products often include systems that monitor the integrity of an OSS distribution, checking file size and other indicators to be sure that code has not been modified and redistributed by bad guys who have added a back door, malicious routines, or other vulnerabilities.

49
Q

Scalability

A

Scalability allows a firm to scale from start-up to blue chip without having to significantly rewrite their code, potentially saving big on software development costs.

50
Q

SQL (structured query language)

A

MySQL is the dominant open source database software product. Adoption of the SQL standard eases some issues with migrating from commercial products to MySQL.

51
Q

Two categories of cloud computing

A

(1) software as a service (SaaS), where a firm subscribes to a third-party software-replacing service that is delivered online, and (2) models often referred to as utility computing, platform as a service, or infrastructure as a service.

52
Q

Microtransactions

A

Microtransactions and ad-supported gaming present alternatives to conventional purchased video games. Firms leveraging these models potentially benefit from a host of SaaS advantages, including direct-to- consumer distribution, instant upgrades, continued revenue streams rather than one-time purchase payments, and a method for combating piracy.

53
Q

consumerization of technology

A

Employees, at their own initiative, can go to Socialtext or Google Sites and set up a wiki, WordPress to start blogging, or subscribe to a SaaS offering like Salesforce.com, all without corporate oversight and approval. This work can result in employees operating outside established firm guidelines and procedures, potentially introducing operational inconsistencies or even legal and security concerns.

54
Q

Hardware clouds

A

Computing hardware used in this scenario exists “in the cloud,” meaning somewhere on the Internet. The costs of systems operated in this manner look more like a utility bill—you only pay for the amount of processing, storage, and telecommunications used.

55
Q

cloudbursting

A

In a cloudbursting scenario a firm’s data center running at maximum capacity can seamlessly shift part of the workload to IBM’s cloud, with any spikes in system use metered, utility style. Cloudbursting is appealing because forecasting demand is difficult and can’t account for the ultrarare, high-impact events, sometimes called black swans.

56
Q

fault-tolerant provisioning

A

keeping a firm’s efforts at more than one location to account for any operating interruptions, will appeal to firms with stricter uptime requirements.

57
Q

Variables to consider for rent/make/buy decision

A
Competitive Advantage
Security
Legal and Compliance
Skill, Expertise, and Available Labor
Cost
Time
Vendor issues
Factors must be evaluated over the lifetime of a project, not at a single point in time.
58
Q

Marginal costs of software

A

Unlike physical products assembled from raw materials, the marginal cost to produce an additional copy of a software product is effectively zero. Just duplicate, no additional input required.

59
Q

Risks associated with cloud computing

A

dependence on a single vendor, reliance on

network connection, data asset stored off-site, forced to migrate to new versions, limited configurations…

60
Q

advantages and disadvantages of cloud computing

A

pros: lower costs, financial risk mitigation, variable operating expense, scalable, higher quality, remote access
cons: dependence on single vendor, concern about viability long-term, forced for new versions, dependence on network connection, data asset stored off site, limited configuration/customization/system integration, less sophisticated, unauthorized IT being used