Program Development
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.
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 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
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.
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.
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.
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).
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.
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.
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.
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.
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.
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.
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.
FINALLY THAT ENDS CHAPTER 11: INFORMATION SYSTEM DEVELOPMENT AND PROGRAMMING
LANGUAGES
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.
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.
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
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.
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.
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.
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
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.
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!
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.