0% found this document useful (0 votes)
35 views23 pages

Program Development

Uploaded by

p.dashaelaine
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views23 pages

Program Development

Uploaded by

p.dashaelaine
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

PROGRAM DEVELOPMENT

PROGRAM DEVELOPMENT

- This is actually part of the system development life cycle (planning, analysis, design, implementation,
operation, support and security.) PARY OF THE IMPLEMENTATION is the program development.

WHAT DO WE MEAN BY PROGRAM DEVELOPMENT?


Program development is the process of creating, designing, and implementing computer programs or
software. The goal of program development is to produce software that meets users' needs while being
efficient, reliable, and maintainable.

Computing system has been more complex in the passing years, thus in 1970s – computer scientist Edsger
W. Dijkstra introduce development of structured programming principles – he explained that program flow
from top to bottom following a hierarchal model making codes more specific and structured. The Program
Development Life Cycle (PDLC) was developed as a specialized subset of SDLC focused specifically on
building software.

The Program Development Life Cycle (PDLC) an iterative process that allows for feedback and adjustments
to be made at each phase, to ensure that the final product meets the needs of the stakeholders and is of
high quality.

• Program Development Life Cycle (PDLC) is a systematic way of developing quality software.
• It provides an organized plan for breaking down the task of program development into manageable
chunks, each of which must be completed before moving on to the next phase.

Program Development Life Cycle (PDLC) - Software Engineering - GeeksforGeeks

Program development consists of a series of steps programmers use to build computer programs. As
discussed, the system development life cycle guides information technology (IT) professionals through the
development of an information system. Likewise, the program development life cycle (PDLC) guides computer
programmers through the development of a program. The program development life cycle consists of six steps
(Figure 11-28):
1. Analyze Requirements
2. Design Solution
3. Validate Design
4. Implement Design
5. Test Solution
6. Document Solution

Step 1: Analyze Requirements


Definition: This is the initial phase where programmers and stakeholders define what the program is supposed
to do. This step involves gathering and analyzing the needs of the users or business to ensure that the program
aligns with their goals.

- the development team recommends how to handle software needs.

Key Activities:
• Meet with stakeholders to identify the purpose of the program.
• Define inputs and outputs.
• Create a requirements specification document that outlines functional and non-functional
requirements. (FUNCTIONAL describe what the system should do. These are the specific behaviors
or functions that the software must perform to meet user needs. | NON-FUNCTIONAL
REQUIREMENTS define how the system should perform. These requirements refer to the system’s
quality attributes, such as performance, security, reliability, and usability. They focus on the system’s
operation rather than its specific features.)
• Set the criteria for success (what defines a "working" program).

Example:
DEVELOPING AN ACCOUNTING SOFTWARE
The key functionalities needed include generating invoices, tracking payments, handling payroll, calculating
taxes, and creating financial reports such as profit and loss statements. You also identify non-functional
requirements, like ensuring the software complies with local tax regulations and can be accessed securely
online.

Step 2: Design Solution


Definition: Once the requirements are understood, the next step is to design the structure and architecture of
the program. This is where programmers create detailed plans for how the program will work.
- Set of REQUIREMENTS
- This phase outkine WHAT MUST BE DONE TO ACHIEVE THE END GOAL

Key Activities:
• Develop flowcharts, diagrams, or pseudocode that describe the logic of the program.
- These tools help to visually or textually map out how the program will function, providing a clear
overview of its logic.
- Pseudocode: A high-level description of the program’s logic written in plain language, often resembling
code but without the syntax details of a specific programming language.
Program Design Tools: The various program design tools are described below:
• Structure Charts: A structure chart, also called Hierarchy chart, show top-down design of program.
Each box in the structure chart indicates a task that program must accomplish. The Top module, called
the Main module or Control module. For example:

• Algorithms: An algorithm is a step-by-step description of how to arrive at a solution in the most easiest
way. Algorithms are not restricted to computer world only. In fact, we use them in everyday life.
• Flowcharts: A flowchart is a diagram that shows the logic of the program. For example:

• Decision tables: A Decision table is a special kind of table, which is divided into four parts by a pair
of horizontal and vertical lines.
• Pseudocode: A pseudocode is another tool to describe the way to arrive at a solution. They are
different from algorithm by the fact that they are expressed in program language like constructs.

• Determine the program’s architecture (e.g., modules, functions, and data structures).
- Purpose: The program’s architecture defines the structure of the software, breaking it down into
components or modules that interact with each other. It’s the blueprint of how the system will be
organized.
o Modules: Independent sections of the program that perform specific tasks. For example, an
accounting software might have separate modules for handling invoices, payroll, financial
reporting, and tax calculations.
o Functions: Specific tasks or operations that the program performs within each module.
Functions allow for reusability and abstraction, reducing duplication of code.
o Data Structures: These define how data is stored and organized. For example, arrays, lists,
or custom objects might be used to store transaction records, customer details, or employee
information.

• Design the user interface (UI) and user experience (UX).


- The UI is the visual part of the program that users interact with (Involves creating the layout of screens,
forms, buttons, and other visual elements that users will interact with.)
- UX focuses on the overall user experience, ensuring that the software is intuitive, easy to navigate,
and efficient for the end-users. (Ensures that the user's journey through the software is smooth,
focusing on minimizing frustration, reducing complexity, and making tasks like data entry or report
generation fast and simple.)
- IN THE CONTEXT OF ACCOUNTING SOFTWARE, for UI – there is a DASHBOARD where
accountants can can quickly access their most-used features, such as generating reports, viewing
invoices, or managing payroll. For UX – ensuring data flows logically and premade templates are
included.

Example: Accounting Software Design


You design the software architecture, which includes modules for invoicing, payroll, and financial reporting.
Flowcharts outline how data flows from input (e.g., a new invoice) to processing (e.g., updating the ledger)
and output (e.g., generating financial reports). The database design includes tables for customers, invoices,
payments, employees, and tax records. You also design user-friendly screens for data entry, with built-in
checks for accuracy.

Step 3: Validate Design


Definition: Before moving forward, the design is validated to ensure it meets all the requirements and can
work efficiently. This phase helps to identify any potential issues with the design before the program is
implemented.

- DESIGN ALIGNS WITH REQUIREMENTS

Key Activities:
• Conduct design reviews with team members or stakeholders.
• Simulate how the program will function through modeling or prototyping.
• Identify and resolve any inconsistencies or gaps in the design.
• Validate that the design aligns with the original requirements and expectations.

Example: Validation of Accounting Software


A prototype of the invoicing module is presented to a group of accountants. They test it by entering customer
information and generating invoices. During validation, the accountants ensure the system correctly applies
taxes and updates the ledger. They suggest improvements, such as adding more customizable invoice
templates and options for different currencies, which are incorporated before moving forward.

Step 4: Implement Design


Definition: This is the CODING PHASE where the actual program is written based on the design created in
the previous steps. Programmers use programming languages and tools to turn the design into a functional
software product.

- Write actual code for program


- Following programming language, standards, and best practices

Key Activities:
• Write the source code in the chosen programming language (e.g., Python, Java, C++).
• Create functions, classes, and modules according to the design specifications.
• Perform code reviews and ensure that coding standards are followed.
• Integrate the various components of the program (e.g., UI, database, logic).

Example: Coding the Accounting Software


Programmers begin writing the code for the software using Java for the backend and SQL for database
management. The invoicing, payroll, and reporting modules are developed in line with the design
specifications. Programmers ensure that tax calculations adhere to local laws and that payroll can handle
deductions like healthcare and retirement contributions. Functions for generating automated reports, such as
quarterly financial statements, are also coded.

Step 5: Test Solution


Definition: After the program has been implemented, it must be thoroughly tested to ensure that it works as
intended. Testing identifies and corrects errors or bugs before the program is delivered to the end users.

- TEST to identify any defects


- A logical error is a mistake that the programmer made while designing the solution to a problem. So
the programmer must find and correct logical errors by carefully examining the program output using
Test data. Syntax error and Logical error are collectively known as Bugs. The process of identifying
errors and eliminating them is known as Debugging.

Key Activities:
• Unit Testing: Testing individual parts of the code to ensure they work in isolation.
• Integration Testing: Testing how different parts of the program work together.
• System Testing: Ensuring the entire system functions correctly.
• Acceptance Testing: Final testing to verify that the program meets user requirements.

Example: Testing the Accounting Software


The software is tested with real accounting data. Unit tests verify that individual components (like payroll
calculations) work correctly. Integration testing ensures that when an invoice is generated, the payment
module updates the ledger correctly and the appropriate entries are made in the tax records. System testing
confirms that the entire software package, from data entry to financial reporting, operates smoothly. Bugs,
such as incorrect tax calculations, are identified and corrected.

Step 6: Document Solution


Definition: Documentation is created for both the developers and the end users. This documentation explains
how the program works, how to install it, how to use it, and how to maintain it.

- Provide proper documentation for maintenance.


- Include user manuals, technical details, and comments.

Key Activities:
• Write user manuals or guides.
• Create technical documentation that explains the system architecture and code.
• Provide inline comments within the source code to explain how specific parts of the program work.
• Record any known limitations or areas for potential future development.

Example: Documentation for Accounting Software


User manuals are created for the accountants who will use the software, explaining how to input data, generate
invoices, run payroll, and produce financial reports. Technical documentation is also prepared for developers,
detailing how the system processes data, stores it in the database, and handles different tax rules. This
documentation ensures that future developers can update the software if tax laws change or new features are
needed.

As shown in Figure 11-28, the steps in the program development life cycle form a loop. Program development
is an ongoing process within system development. Each time someone identifies errors in or improvements to a
program and requests program modifications, the Analyze Requirements step begins again. When
programmers correct errors (called bugs) or add enhancements to an existing program, they are said to be
maintaining the program. PROGRAM MAINTENANCE is a ongoing activity that occurs after a program has been
delivered to users.

ETHICS AND ISSUES: WHO IS RESPONSIBLE FOR BUGS?


The consequences of bugs, or errors, in computer programs can be staggering.
o A software error in a missile defense system resulted in the deaths of 29 U.S. soldiers.
o An error in the code controlling a Canadian nuclear facility caused more than 3,000 gallons of
radioactive water to be spilled.
o A bug in long-distance switching software cost AT&T more than $60 million.
Sometimes, employees or students who report security-related bugs are disciplined because by finding the bug,
they accidently accessed secure information. Experts estimate that there are 20 to 30 bugs per 1,000 lines of
code in an average program. Given that many programs contain hundreds of thousands, even millions, of code
lines, bugs are not surprising. Most software licenses absolve the software creator of any responsibility for the
end user getting the wrong information from a bug-riddled program.

WHAT INITIATES PROGRAM DEVELOPMENT?


As discussed, system development consists of five phases: planning; analysis; design; implementation; and
operation, support, and security. During the analysis phase, the development team recommends how to handle
software needs. Choices include modifying existing programs, purchasing packaged software, building custom
software in-house, or outsourcing some or all of the IT operation. If the organization opts for in-house
development, the design and implementation phases of system development become quite extensive. In the
design phase, the analyst creates a detailed set of requirements for the programmers. Once the programmers
receive the requirements, the implementation phase begins. At this time, the programmer analyzes the
requirements of the problem to be solved. Thus, program development begins at the start of the implementation
phase in system development.
The scope of the requirements largely determines how many programmers work on the program
development. If the scope is large, a programming team that consists of a group of programmers may develop
the programs. If the specifications are simple, a single programmer might complete all the development tasks.
Whether a single programmer or a programming team, all the programmers involved must interact with users
and members of the development team throughout program development
By following the steps in program development, programmers create programs that are correct (produce
accurate information) and maintainable (easy to modify).

CONTROL STRUCTURES
When programmers are required to design the logic of a program, they typically use control structures to
describe the tasks a program is to perform. A control structure, also known as a CONSTRUCT, depicts the logical
order of program instructions. Three basic control structures are sequence, selection, and repetition.

Control structures, also known as constructs, define the logical flow of a program by specifying the order in
which instructions are executed. There are three primary types of control structures: sequence, selection,
and repetition. Each plays a crucial role in determining how a program operates and responds to different
conditions.

Overview:
• Control structures are essential for defining the logical flow of a program.
• They help in managing how instructions are executed.

TYPES OF CONTROL STRUCTURES

Sequence Control Structure A sequence control structure shows one or more actions following each other in
order (Figure 11-29). Actions include inputs, processes, and outputs. All actions must be executed; that is,
none can be skipped. Examples of actions are reading a record, calculating averages or totals, and printing
totals.

1. Sequence Control Structure


o Description: Executes a series of actions one after another in a specific order.
o Characteristics:
- Actions follow each other sequentially.
- Includes inputs, processes, and outputs.
- All actions are performed without skipping
o Example: If you need to perform tasks like inputting data, processing it, and then displaying
results, these tasks are executed sequentially.
Example: In an accounting program, a sequence control structure might involve:
1. Reading Employee Data: Load data from a database.
2. Calculating Payroll: Compute wages based on hours worked and pay rates.
3. Printing Pay Slips: Output the payroll details.
Selection Control Structure A selection control structure tells the program which action to take, based on a
certain condition. Two common types of selection control structures are the if-then-else and the case.
Selection Control Structure
Definition:
• The selection control structure allows the program to choose between different actions based on
conditions. It directs the flow of execution depending on whether conditions are met.
- Chooses actions based on conditions.

Types:
1. If-Then-Else:
o Evaluates a condition; performs one action if true, another if false.
o Example: Checking if hours worked exceed 40 to determine overtime pay.
2. If-Then: Executes an action only if the condition is true; otherwise, it does nothing.
3. Case:
o Handles multiple conditions with different actions.
o Example: Determining beverage price based on size (small, medium, large, extra large).
When a program evaluates the condition in an if-then-else control structure, it yields one of two
possibilities: true or false. Figure 11-30 shows the condition as a diamond symbol. If the result of the condition
is true, then the program performs one action. If the result is false, the program performs a different action.

For example, the if-then-else control structure can determine if an employee should receive overtime pay. A
possible condition might be the following: Is Hours Worked greater than 40? If the response is yes (true), then
the action would calculate overtime pay. If the response is no (false), then the action would set overtime pay
equal to 0.
In some cases, a program should perform no action if the result of a condition is false. This variation of the if-
then-else is called the if-then control structure because the program performs an action only if the result of the
condition is true.

With the case control structure, a condition can yield one of three or more possibilities (Figure 11-31). The
size of a beverage, for example, might be one of these options: small, medium, large, or extra large. A case
control structure would determine the price of the beverage based on the size purchased.
Repetition Control Structure The repetition control structure enables a program to perform one or more actions
repeatedly as long as a certain condition is met. Many programmers refer to this construct as a loop. Two forms
of the repetition control structure are the do-while and do-until.

Alright, NA TRY NIYO NA BA SA EXAM NA PAULET ULET HANGGANG SA MAY LUMABAS

Repetition Control Structure


Explanation:
• Definition: The repetition control structure (or loops) allows the program to repeatedly execute a block
of instructions as long as a specified condition is true.
• Types:
o Do-While: Executes actions as long as a condition is true. The condition is checked at the
beginning of the loop.
- Executes actions as long as the condition is true.
- Tests the condition before each iteration.
- Example: Processing each record in a payroll system.
o Do-Until: Executes actions until a condition becomes true. The condition is checked at the end
of the loop, ensuring that the loop executes at least once.
- Executes actions until a condition becomes true.
- Tests the condition after each iteration.
- Example: Looping until a specific input is provided.

A do-while control structure repeats one or more times as long as a specified condition is true (Figure 11-32).
This control structure tests a condition at the beginning of the loop. If the result of the condition is true, the
program executes the action(s) inside the loop. Then, the program loops back and tests the condition again. If
the result of the condition still is true, the program executes the action(s) inside the loop again. This looping
process continues until the condition being tested becomes false. At that time, the program stops looping and
moves to another set of actions.The do-while control structure normally is used when the occurrence of an event
is not quantifiable or predictable. For example, programmers frequently use the do-while control structure to
process all records in a file. A payroll program using a do-while control structure loops once for each employee.
This program stops looping after it processes the last employee’s record.
The do-until control structure is similar to the do-while but has two major differences: where it tests the
condition and when it stops looping. First, the do-until control structure tests the condition at the end of the loop
(Figure 11-33). The action(s) in a do-until control structure thus always will execute at least once. The loop in a
do-while control structure, by contrast, might not execute at all. That is, if the condition immediately is false, the
action or actions in the do-while loop never execute. Second, a do-until control structure continues looping until
the condition is true — and then stops. This is different from the do-while control structure, which continues
to loop while the condition is true.
An understanding of these control structures provides an insight into the steps performed by a computer when
the computer is used to solve a problem or process data.

Importance of Control Structures


• Logic Implementation: They allow programmers to implement complex logic and decision-making
processes in a program.
• Flow Management: Control structures manage the flow of execution, ensuring that tasks are performed
in the correct order and conditions are properly evaluated.
• Reusability: They facilitate code reusability and efficiency by enabling repetitive tasks to be handled in
a systematic manner.

FINALLY THAT ENDS CHAPTER 11: INFORMATION SYSTEM DEVELOPMENT AND PROGRAMMING
LANGUAGES

ENTERPRISE-WIDE TECHNOLOGIES AND METHODOLOGIES


Alright, listen up! now, we’re talking about Enterprise-Wide Technologies and Methodologies! As we all know
enterprises – uses technologies and software applications to keep their business operations going smoothly
and efficiently.

In the fierce competition sa industries, dapat mabilis mag adapt yung companies, why kasi kung hindi, they
won’t survive. That’s why ENTERPRISE TECHNOLOGIES ARE VITAL

ENTERPRISE TECHNOLOGY is the hardware and software businesses use to achieve business goals.
Usually, enterprise technology is designed to be more cost-effective and scalable than consumer technology.

Enterprise technology is the lifeblood of modern businesses.

Several technologies adopted by enterprises allow them the flexibility and the ability to move swiftly in a
business environment. Some of the common technologies used in enterprises include portals, electronic data
interchange, data warehouses, extranets, Web services, workflow, and virtual private networks.

Most of the hardware and software that contains these technologies is located in a DATA CENTER, which is a
centralized location for managing and housing those items. Read Innovative Computing 12-1 to find out about
unique data center solutions. The following sections discuss each of these technologies
What is a Data Center?

A data center is a dedicated facility designed to house computer systems and associated components, such
as servers, storage systems, networking devices, and security equipment. It serves as a centralized location
where an organization’s IT operations and equipment are managed and stored.

PURPOSE: store, manage, process, and distribute vast amounts of data for businesses and organizations.
Data centers ensure that critical applications and data are accessible, reliable, and secure at all times. They
often include power backup systems, cooling systems, fire suppression systems, and robust physical security
measures to protect sensitive information and keep operations running smoothly.

KEYPOINTS:
a. Data storage and management
b. Business Continuity and Disaster Recovery
c. Scalability
d. Increased Efficiency
e. Enhanced Security

EXAMPLES:
Google Data Centers:
• Google operates a network of data centers worldwide to support its search engine, cloud services, and
other products. Google’s data centers are known for their sustainability initiatives, including using
renewable energy, recycling water for cooling, and testing out innovative approaches like sea-based
data centers powered by wave energy.
Amazon Web Services (AWS):
• AWS data centers host cloud services for businesses of all sizes, offering scalable storage, computing
power, and networking capabilities. AWS has a global presence, with data centers located in multiple
geographic regions to ensure high availability and low latency.
Equinix:
• Equinix is a data center provider that operates across numerous countries, connecting businesses to
each other and to cloud services. Equinix data centers offer colocation services, where companies can
house their servers and infrastructure in Equinix’s facilities, benefiting from robust security and access
to a wide range of networks and cloud providers.

FUNFACT: Google’s out there putting data centers on barges in the middle of the ocean! Yes, the ocean!
They’re using wave power to keep their systems running! And Microsoft? They’re building in Siberia! Why?
Because it’s cold and they can save millions on electricity! This is cutting-edge stuff, people! No more basic
server rooms here—these are next-level innovations!”

Key Points:
• Google’s sea-based data centers and wave energy usage.
• Sun Microsystems' abandoned coal mines for energy efficiency.
• Microsoft’s Siberia centers using hydroelectric power and recycled water for cooling.

Unique Data Center Storage Solutions


As data centers’ sizes expand, companies are searching for groundbreaking storage solutions that do not
necessarily break ground.
GOOGLE, for example, is considering seabased centers on barges docked up to seven miles offshore. Energy
generated from the waves’ motions could help cool and power the supercomputers running the company’s
search engines.
SUN MICROSYSTEMS is exploring using space in abandoned coal mines.
The cool groundwater would help reduce temperatures and power consumption by 50 percent, resulting in a
reduction in electricity costs of at least $9 million. Another unlikely data center location, Siberia’s frozen tundra,
looks promising FOR MICROSOFT’S EXPANSION PLANS. Currently the company is building centers adjacent
to hydroelectric plants, where recycled water will cool the tens of thousands of servers. This water does not
need to be drinkable, so no energy is needed to purify it at waste water treatment sites. In another energy-saving
measure, Microsoft is using cool outside air instead of air conditioning systems to reduce the computers’
operating temperatures.

PORTALS
A portal is a collection of links, content, and
services presented on a Web page and
designed to guide users to information they likely
are to find interesting for their particular job
function. A portal often includes searching
capabilities or a link to A SEARCH ENGINE, such
as Google. Organizations often deploy enterprise
search technology that allows users to perform
searches across many enterprise-wide
information systems and databases. Users
typically can customize the portal Web site to
meet their needs. Information from external
sources included on a portal Web page can
include weather, news, reference tools, and
instant messaging

"Next, we have portals—your personal gateway to all the information you need within a company.

Portals
• Definition: Portals are customizable web pages that aggregate and present links, content, and
services to users based on their needs. OFTEN CUSTOMIZABLE BASED ON THE NEEDS.
- Information integration from external sources (news, weather, messaging, etc.).
• Origin: the term enterprise Information portals was used in Merrill Lynch report in Nov 16,1998.

A good portal saves time, centralizes resources, and can even include external information, like news or
messaging apps. For example, imagine logging into one page and accessing everything from internal reports
to real-time weather updates

• Impact on Enterprises: Portals streamline access to information, improve productivity by centralizing


tools and resources, and enhance user experience by allowing customization.

A portal often includes searching capabilities or a link to A SEARCH ENGINE, such as Google.- This allows
them to search enterprise-wide information systems and databases.

COMMUNICATIONS
The IT department, headed by the CIO, builds and maintains the ELECTRONIC COMMUNICATIONS
INFRASTRUCTURE of the enterprise. The communications infrastructure consists of hardware, software, and
procedures. Examples of
hardware include wired network connections, wireless network devices, routers, firewalls, servers, and a variety
of long distance communications connections.
Software can include e-mail, instant messaging, VoIP, and
software applications to manage servers and end users’ computers remotely.
Procedures include the methods for using and managing the hardware and software.
In addition to the communications software accessed by end users in the enterprise, the IT department manages
the software on servers to support the end users’ programs. For example, the IT department manages e-mail
servers that are accessed by the end users’ e-mail programs. For e-commerce, specialized software often is
used to communicate with other computers.
EDI (electronic data interchange) is a set of standards that controls the transfer of business data and
information among computers both within and among enterprises. Today, businesses use these standards to
communicate with industry partners over the Internet and telephone lines.

Now, let’s talk communication. At the heart of any business is the communication infrastructure managed by
the IT department.

Definition: Enterprise communications systems encompass hardware and software that support internal and
external communication, such as email, VoIP, and instant messaging.

The real magic happens when all of these pieces work together to enable seamless communication within the
enterprise. From VoIP calls to server management, this infrastructure ensures that employees and
departments stay connected and productive.

Origin: The evolution of enterprise communication technologies accelerated with the development of
ARPANET (the predecessor of the Internet) in the 1960s, developed by the U.S. Department of Defense.

Impact on Enterprises: These systems improve collaboration, streamline workflows, reduce communication
costs, and facilitate remote work.

DATA WAREHOUSES
A DATA WAREHOUSE is a huge database that stores and manages the data required to analyze historical and
current transactions. Software applications such as ERP programs store and access data in a data warehouse.
A data warehouse may be stored in a cloud computing environment.
Most data warehouses include one or more databases and one or more information systems storing data in the
data warehouse. The data in the databases consists of TRANSACTION DATA required for decision making.
This data may come from internal or external sources (Figure 12-17).

• Some data warehouses use Web farming for their external data. Web farming is the process of collecting
data from the Internet as a source for the data warehouse.
• Another growing external source of information is a CLICK STREAM. A click stream is a collection of
every action that users make as they move through a Web site. By analyzing visitors’ click streams,
companies identify consumer preferences and determine which Web pages are most attractive to visitors.
Definition: A data warehouse is a centralized repository that stores large amounts of structured data for
analysis and decision-making.

A data warehouse is a centralized repository of integrated data from multiple sources, used for reporting and
data analysis. It stores large volumes of data, often historical, which businesses use for decision-making.
Unlike traditional databases that are optimized for transaction processing, data warehouses are designed for
query and analysis, making them essential for business intelligence (BI) and advanced analytics.

Origin: The concept of data warehousing was popularized in the 1980s by IBM researchers Barry Devlin and
Paul Murphy.

The concept of data warehousing was formalized in the late 1980s by Bill Inmon, who is often referred to as
the "Father of Data Warehousing." Inmon defined a data warehouse as a subject-oriented, integrated, time-
variant, and non-volatile collection of data that supports management's decision-making process. Around the
same time, Ralph Kimball also contributed significantly to the field, introducing the dimensional modeling
approach, which focuses on optimizing data for queries and reporting.
As the amount of data generated by businesses grew exponentially, the 1990s and early 2000s saw rapid
adoption of data warehouses as essential tools for enterprise resource planning (ERP), customer relationship
management (CRM), and financial analysis. Today, data warehouses often integrate with cloud computing
platforms, allowing for scalability, flexibility, and cost savings.

Web Farming
• Definition: Web farming refers to the process of collecting data from the web to populate data
warehouses. Businesses use automated tools to extract valuable data from various online sources,
such as news articles, reviews, blogs, or other web pages.
• Usage: Companies utilize web farming to gather competitive intelligence, monitor industry trends, and
extract customer sentiment. For example, a retailer might collect product reviews or track competitor
pricing strategies.
• Impact: Web farming allows organizations to leverage vast amounts of publicly available data,
providing richer insights and a broader context for decision-making.

Click Stream Data


• Definition: A click stream is a detailed log of user actions as they navigate through a website. This
data includes pages visited, links clicked, and time spent on each page.
• Usage: Companies analyze click stream data to understand user behavior, preferences, and patterns.
For example, an e-commerce site may analyze click streams to determine the most popular product
pages or identify bottlenecks in the checkout process.
• Impact: By analyzing click stream data, companies can optimize their websites, improve user
experiences, tailor content to individual preferences, and increase conversions.

Web Farming Click Stream Data


Function Web farming is a method of Click stream data refers to the
extracting or collecting data from tracking and analysis of a user's
various external websites across activity as they navigate through a
the internet. This process is specific website or application. It
automated using tools or bots that records every action taken by the
systematically gather data from user, such as the links they click,
numerous sources such as blogs, the pages they visit, and how long
social media, e-commerce sites, they stay on each page.
and other web pages.
Source of Data The data comes from external The data comes from internal
sources, which are websites or sources, specifically the
platforms not owned or controlled company's own website or
by the organization. It collects platform. It is collected directly
publicly available information from from the interactions of users on
the web, like articles, reviews, that specific platform.
prices, or trends.
Purpose Web farming is used to gather a Click stream data is used to
broad set of information that can understand user behavior within
be fed into a data warehouse. the company's own digital
Companies analyze this environment. Companies analyze
information to gain insights this data to improve user
about the market, competition, experience, optimize website
customer sentiment, and other performance, and personalize
external factors. It's often used marketing efforts. It helps
for COMPETITIVE businesses determine which
INTELLIGENCE, MARKET areas of their site are most
RESEARCH, OR TRACKING engaging, identify drop-off points,
INDUSTRY TRENDS. and TAILOR CONTENT TO
CUSTOMER PREFERENCES.

Impact on Enterprises: Data warehouses help businesses gain insights from historical data, enabling better
decision-making, improving business intelligence (BI), and supporting analytics.

This helps companies predict what customers want before they even know it themselves!

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. An extranet provides a secure, physical connection to the company’s
network. Customers may use the extranet to place and monitor orders electronically or to make payments.
Suppliers may check inventory levels of the parts they supply to the company and receive orders and payments
from the company. Extranets improve efficiency by replacing the postal service, faxes, or telephone calls as the
communications medium of choice.
Definition and Purpose: An extranet is a controlled and secure extension of a company's internal network
(intranet) that allows external parties such as customers, suppliers, or partners to access specific resources
within the company's network. It facilitates secure, real-time interactions and data exchanges between the
company and its external stakeholders.

EXAMPLE:
Inventory Updates: The extranet allows suppliers to update Walmart on inventory levels and any changes in
product availability. This helps Walmart maintain optimal stock levels and avoid stockouts.

WEB SERVICES
Web services include a relatively new set of software technologies that allows businesses to create products
and B2B (business-to-business) interactions over the Internet. Web services do not include traditional user
interfaces, such as a Web page. Rather, users build their own interfaces to the Web services when necessary.
Two popular platforms for building and running Web services are the Sun Microsystems Java EE platform and
the Microsoft .NET Framework

Definition: Web services are a set of software technologies that enable different applications or systems to
communicate and exchange data over the Internet using standardized protocols. Unlike traditional
software applications with user interfaces like web pages, web services provide a way for software systems
to interact with each other without direct user interaction.

Key Characteristics:
• Interoperability: Web services allow different systems, often built on different platforms, to work
together. They use common standards and protocols to ensure compatibility.
• No User Interface: Web services themselves do not have user interfaces. Instead, they provide
functional capabilities that other applications or systems can access programmatically.

Summary
• Java EE is heavily utilized for building enterprise-level applications that require high scalability,
reliability, and robust business logic. It is suitable for large-scale web applications, business logic
components, and data management.
• Microsoft .NET Framework offers a versatile platform for developing a wide range of
applications, including web, desktop, and cloud-based solutions. It supports integration, data access,
and cross-platform development, making it suitable for diverse enterprise needs.

JAVA EE Microsoft .NET Framework


t excels in building multi-tiered applications and NET may be more attractive for businesses invested
handling complex business processes in high- in Microsoft technologies or those looking to develop
demand environments (e.g., large e-commerce both web and desktop applications
platforms, financial services).
enterprise requires extensive platform independence support cross-platform development but have a
heavier reliance on Windows infrastructure.
cost-effectiveness in open-source environments. While the framework itself is free, costs may rise if
you are using commercial Microsoft products like
Windows Server or Azure.
For example, an airline company may provide up-to-the-minute flight status information as a Web service
(Figure 12-18). Travel Web sites, such as Expedia or Orbitz, can query the Web service and then display the
information on their own Web pages for their customers. The travel Web site may ask for the status of a particular
flight and receive back a scheduled departure or arrival time from the Web service. How the travel Web site then
uses that information is of no concern to the Web service. The travel Web site may display the information to a
customer who requested the information, or it may send an e-mail notification with the information to the
customer. Typically, the customer or consumer of the Web service — the travel Web site in this example — must
write a program to use the Web service. Many enterprises now employ a service-oriented architecture because
the company requires more communication between diverse information systems.

Example: Airline Flight Information Web Service

1. Scenario: An airline company offers a web service that provides real-time flight status updates.
2. Functionality:
o Web Service: The airline’s web service is designed to provide up-to-date information about
flight departures, arrivals, and delays.
o Travel Websites: Websites like Expedia or Orbitz use this web service to fetch flight status
data.
o Process:
▪ The travel website sends a request to the airline's web service asking for information
about a specific flight.
▪ The web service processes the request and sends back the current flight status, such as
the scheduled departure or arrival time.
▪ The travel website then displays this information to its users or sends notifications if
needed

In a service-oriented architecture (SOA), information systems provide services to other information systems
in a well-defined manner over a network. One benefit to using an SOA is that services from multiple information
systems can be combined to create new services or programs.

Service-Oriented Architecture (SOA):


• Definition: SOA is an architectural pattern where different services are designed to interact with each
other over a network. Each service performs a specific function and is accessible over a network.
• Benefits:
o Modularity: Different services can be developed and updated independently, allowing for
flexible and scalable systems.
o Reusability: Services can be reused across different applications or systems, reducing
duplication of effort and cost.
o Integration: Enables the integration of diverse systems and applications, allowing them to work
together seamlessly.

WORKFLOW
A WORKFLOW is a defined process that identifies the specific set of steps involved in completing a
particular project or business process. A workflow may be a written set of rules or a set of rules that exists in
an information system.
A WORKFLOW APPLICATION is a program that assists in the management and tracking of all the activities in
a business process from start to finish. Enterprises use workflow applications to assist in defining complex
workflows.

Workflow is ALL about getting things DONE!

Workflow
Definition: A workflow is a structured sequence of steps or tasks required to complete a specific business
process or project. It outlines the order of activities, decision points, and responsibilities involved, ensuring
that each task is completed efficiently and effectively.
Characteristics:
• Defined Steps: Specifies each task or step in the process, including who is responsible for completing
it.
• Rules and Procedures: Includes guidelines for how tasks should be executed and how decisions
should be made.
• Automation: Workflow applications can automate repetitive tasks, trigger actions based on certain
conditions, and track progress.

Workflow Applications:
• Purpose: Workflow applications help organizations manage and streamline business processes by
automating and tracking tasks. They ensure that workflows are executed consistently and efficiently.
• Examples:
o Document Approval: A workflow application can automate the process of document review
and approval, routing the document to the appropriate stakeholders and tracking its status until
approval is granted.
o Employee Onboarding: Automates the steps involved in bringing a new employee onboard,
including setting up accounts, training schedules, and equipment provisioning.

VIRTUAL PRIVATE NETWORK


Many companies today allow access to their company networks through a virtual private network. When a mobile
user, remote office, vendor, or customer connects to a company’s network using the Internet, a virtual private
network (VPN) provides them with a secure connection to the company network server, as if they had a private
line. VPNs help to ensure that transmitted data is safe from being intercepted by unauthorized people (Figure
12-19). VPNs securely extend the company’s internal network beyond the physical boundaries of the
company. The secure connection created over the Internet between the user’s computer and the company’s
network is called a VPN tunnel. Many companies allow external access to their internal networks only via a VPN
connection.

SECURITY! That’s what VPNs are all about! You don’t want unauthorized people snooping around in your
company’s data, do you? NO! VPNs make sure that even when people are working remotely, everything stays
locked up tight! It’s like having a private tunnel to keep your data safe from prying eyes!

Virtual Private Network (VPN)


Definition: A Virtual Private Network (VPN) is a technology that creates a secure, encrypted connection over
a public network (like the Internet) to a company’s internal network. It allows remote users, such as employees
or partners, to access resources and data as if they were directly connected to the company’s private network.
Characteristics:
• Encryption: VPNs encrypt data transmitted between the user's device and the company's network,
protecting it from unauthorized interception.
• Secure Access: Provides a secure way to access internal resources, such as files and applications,
from remote locations.
• VPN Tunnel: The encrypted connection between the user's device and the company’s network is called
a VPN tunnel.
Usage:
• Remote Work: Employees working from home or traveling can securely access the company’s
network resources, including internal databases, applications, and file shares.
• Remote Offices: Multiple office locations can connect securely to the central company network
through VPNs, facilitating secure communication and data sharing between locations.
• Vendor and Partner Access: Vendors or business partners can be granted secure access to specific
parts of the company’s network for collaboration or data exchange.

Summary
• Secure Remote Access: VPNs enable employees to securely access corporate resources from
remote locations.
• Branch Connectivity: VPNs connect multiple office locations securely, facilitating data exchange and
access to shared resources.
• Data Protection: VPNs encrypt data and protect sensitive information from unauthorized access and
cyber threats.
• Partner and Vendor Security: VPNs provide secure access for external parties, ensuring protected
collaboration.
• Geo-Restriction Bypass: VPNs allow access to region-locked resources by masking IP addresses.
VPNs are a crucial component of enterprise security, ensuring that sensitive data remains protected and that
remote and branch office connections are secure and reliable.

You might also like