Architecture and Development of Business Information Systems
Architecture of Information Systems
All systems have an architecture that serves the main purpose and the problem that they are meant to solve, along with how the company data is processed.
- Common architectural components can be found in all information systems, despite their variety.
Definition of Architecture
Architecture: The fundamental organization of a system, its components, the relationship between them and their environment, as well as the principles of management and development of the system.
Information System Architecture According to Data Processing Distribution
Processing Types
Centralized Processing: Centralized information system architecture.
Client-Server Processing: Client-server system architecture.
Distributed Processing: Client-server architecture and cloud architecture.
Centralized Processing
Initially, information systems were manual where processing occurred in a data center.
Process Flow:
Raw data initially carried by a human.
Data entry, processing, and return of results to users.
Data is processed in one place by a single computer.
Output provided in the form of a printed report or other media.
Client-Server Data Processing Model
In a client-server model, processing is divided between two components: client and server.
They communicate through exchanged messages.
Definition: Messages are mechanisms for responding to a service request.
The application shifts from a monolithic architecture to one made of components performing distinct functions (client and server).
Distributed Processing
The rise of the Internet created a need for a new processing model accommodating simultaneous requests from users worldwide.
Simultaneous access to the same resources is facilitated by distributed systems.
Characteristics of Distributed Systems
Data is scattered across many databases.
The client sends a request, and data retrieval occurs across multiple databases.
Other client applications may access these databases simultaneously, allowing data to be added, updated, or deleted.
Information System Functions and Architecture Tiers
Functions of the information system:
Data entry and information output.
Data processing as per specific business rules.
Storing and retrieving data from databases or flat files.
Architecture by number of layers: 1-tier, 2-tier, 3-tier, and N-tier (multilayer).
Layers include:
User interface
Business logic
Data storage and retrieval
Tiers Explained
Presentation Tier
Top-most level of the application (user interface).
Translates tasks and results into user-friendly formats.
Logic Tier
Coordinates the application, processes commands, makes logical decisions, evaluations, and performs calculations.
Moves and processes data between the presentation and data tiers.
Data Tier
Stores information and retrieves it from databases or file systems.
Passes processed information back to the logic tier and eventually to the user.
System Architectures
1-Tier Architecture (Single-Tier)
All functions (presentation, business logic, data storage) exist in one package.
Examples: Home photo storage and retrieval systems; applications on supercomputers.
2-Tier Architecture
Separates user interface (client layer) from the database layer (server layer).
Client application presents data while the server processes SQL queries.
Example: Information reference systems within small companies.
3-Tier Architecture
Separates user interface, business logic, and data management.
Includes distinct layers for each function:
User interface tier (presentation)
Business logic tier (application)
Data management tier
Architecture in Web Applications
Main Functions of Information Systems
Data Entry Functions: Enabling user interaction, requiring manipulations, controlling data access, becoming a data source.
Data Processing Functions: Manipulating input data; programming operations to prepare output information.
Information Output Functions: Delivering processed results accurately and promptly.
Data Storage Functions: Ensuring completeness and timeliness, allowing for updates.
Features of Web Application Architecture
Utilizes web server technologies (e.g., IIS, Apache).
Client interface is accessed via browsers (Google Chrome, MS Edge, etc.).
Divides user interface layer into:
Graphical User Interface (GUI) for visualization.
GUI management on the web server.
Three-Tier Architecture for Web Applications
In simpler applications, user interface management is integrated with business logic, executed by the web server.
Characteristics of Distributed Systems
Composed of many standalone components.
Resources can be unavailable at times.
Software functions with simultaneous processes on different processors.
Distributed Client-Server Systems
Complex user requests requiring data retrieval from various servers, often geographically separated.
Cloud Processing
Definition of Cloud
A distributed system of globally dispersed, virtualized computers presented as a unified computing resource.
Service Characteristics: Provides dynamic organization of computing resources (processors, memory, etc.) offered as services over the Internet.
New Economic Model of Cloud Systems
Cloud systems present a subscription-based service model, contrasting with traditional ownership where users purchase software/hardware.
Users pay based on consumption (transactions, memory used).
Characteristics of Cloud Systems
Self-service on demand: Users can request resources without third-party intervention.
Wide network access: Cloud functionalities are accessible via standard mechanisms.
Resource Pooling: Provider resources serve multiple clients dynamically.
Rapid Resilience: Resources can be flexibly scaled based on user needs.
Measured Service: Automatic control and optimization of resources that provide transparency for users and providers.
Cloud Service Delivery Models
Software as a Service (SaaS): Delivers applications to users (e.g., Microsoft Office 365).
Platform as a Service (PaaS): Provides entire platforms for organizational use (e.g., Microsoft Azure).
Infrastructure as a Service (IaaS): Supplies backend infrastructure (e.g., Azure Virtual Machines).
Comparison of Traditional vs. Cloud-Based Service Models
Users traditionally manage and coordinate hardware/software; cloud services centralize management with providers.
Users benefit from ease of use and do not manage technical complexities.
What Users Manage in Different Delivery Models
Traditional Model: User manages all elements from hardware to applications.
IaaS: User manages the operating systems and data.
PaaS: User manages data and applications.
SaaS: All activities are managed by the provider.
Data Processing in Systems
Cloud-Based vs Client-Server Systems
Cloud systems perform heavy computation remotely in data centers, requiring minimal client-side activity.
Client-server systems rely more on client processing due to advancements in desktop computing.
Components of Cloud-Based Information Systems
Cloud Client Application: Sends requests and receives responses (i.e., through browsers).
Network: Transmits data, consisting of routers, DNS servers, etc.
Cloud Data Center: Manages data routing and serves the final response to the user.
Information Systems Architecture Summary
Architecture defines characteristics influencing the construction and functioning of systems.
No single “best” architecture exists; systems must be tailored according to requirements: user count, data volume, business logic complexity, security, cost, and future development prospects.
Development of Information Systems
Development transition from user requests to system design must align with analyst visions, programmer implementations, and actual system functions.
Business Information System (BIS)
Definition: A system that stores, transmits, and processes data for timely decision-making.
BIS evolves continuously, organizing data from various sources to support management functions.
Characteristics of Business Information Systems
Manages business processes: collecting, storing, retrieving, processing, and distributing data.
Built with architectures and components based on modern information and communication technologies.
Approaches to Information System Development
Recognizing the importance of analysis and design due to the complexity of organizational needs, moving towards integrated information systems.
Methodology for Developing Information Systems
Comprises procedures, techniques, tools, and documentation that aid in implementing new information systems.
Includes stages, guiding developers in technique selection, planning, management, and project evaluation.
Main Components of Methodologies
A multi-stage process, techniques for solution assessment, tools supporting system analysis, training schemes for new roles, and an organizational philosophy fostering information systems as innovative solutions.
Life Cycle of Information Systems Development
System Development Life Cycle (SDLC) leads to high-quality systems that meet customer expectations, budget constraints, and operational efficacy.
System Planning
Generation of system ideas, definitions of requirements, feasibility studies, and choice of methodologies are key aspects.
System Analysis
Complete understanding and modeling of the subject area, alternative solutions exploration, and comparative analysis of those solutions are essential.
System Design
Involves designing business logic, data models, and user interfaces.
System Development (Programming)
Establishes development options, chooses software architecture, technologies, programming languages, and creates the system with user manuals.
Verification, Implementation, Monitoring and Maintenance
Includes pilot implementations, user training, thorough testing, final system roll-out, and future maintenance planning.
Business Logic Design
Uses Unified Modeling Language (UML) for visualizations to connect user actions and system functions, collecting user feedback systematically.
System Data Model Design
Conceptual, logical, and physical data models define object attributes, relational structures, and storage methods across different abstraction levels.
Principles for User Interface Design
Usability, Integrity, Minimal Surprise, Recovery, User Targeting, and Diversity of Users are key principles in interface development.
User Interface Design Example
Specific components and structures (e.g., logo, menu, content) should be crafted to enhance user experience, avoiding excess information that may confuse visitors.
Agile vs. Waterfall Models
Agile: Delivers features continuously, accommodating changes easily. Suited for complex projects with unknowns.
Waterfall: Delivers software at the end of the lifecycle, with defined stages. Suitable for projects with well-defined parameters.
Development Process: Agile involves iterative cycles while Waterfall relies on sequential task dependencies, influencing team dynamics and project flexibility.