Title: System Architecture Design Chapter 10
1System Architecture Design Chapter 10
- Alan Dennis, Barbara Wixom, and David Tegarden
- John Wiley Sons, Inc.
- Slides by Fred Niederman
- Edited by Solomon Negash
2Key Definitions
- The system architecture design consists of plans
for the hardware, software, communications,
security , and global support for the new
application - The designers must decide if processing will
occur in the server (server-based), at the
personal computer (client-based), or in some
combination of these (client-server based).
3Key Definitions
- The network model shows major components of the
system, where they are located and how they will
be connected to one another. - The hardware and software specifications describe
these components in detail and aid those
responsible for purchase and acquisition of these
products.
4COMPUTING ARCHITECTURES
5Functions of the Application System
- Data storage
- Data access logic
- Application logic
- Presentation logic
6Architectures
- Server based
- Client based
- Client-server based
7Alternative Servers
- In server based architectures, the servers do the
work and present the results - Mainframe
- Minicomputer
- Microcomputer (personal computer)
8Server-Based Computing
9Alternative Clients
- In client based architectures, clients do most of
the work (except data storage) and present the
results - Terminals
- Microcomputer (personal computer)
- Special purpose terminals (ATMs,
kiosks, Palm Pilots, and many
others)
10Client-Based Computing
11Client-Server-Based Computing (2 Tiers)
12Client-Server Attributes
- Typical Pros
- Compatible with web-based system design
- Scaleable
- Work with multiple vendors/products
- No central point of failure
- Typical Cons/Limits
- Complexity
- New programming languages and techniques (stress
for personnel) - More complex to update
13Client-Server -- Three Tiers
14Client-Server -- Four Tiers
15N-Tiered Client-Server Attributes
- Typical Pros
- Separates processing to better balance load
- More scaleable
- Typical Cons/Limits
- Greater load on the network
- More difficult to program and test
16Distributed Objects Computing
- Middleware between clients and servers
- Update middleware when changing client code
- May reduce efficiency of the application
- CORBA
- DCOM
17Realities of Infrastructure Design
- Most often the infrastructure will be in place
- Coordination of infrastructure components is very
complex - The application developer will need to coordinate
with infrastructure specialists
18Selecting a Computing Architecture
19Your Turn
- Consider the course registration system at your
university - What computing architecture does it use?
- What computing architecture would you use if you
were replacing it today?
20INFRASTUCTURE DESIGN
21The Network Model
- No standard format
- Conveys complexity of the system and how
components fit together - Components are
- Clients
- Equipment
- Connection to external systems or networks
22Top-Level Network Model
23Hardware and Software Specification
- Used if new hardware or software must be
purchased - Actual acquisition of hardware and software
usually left to a purchasing department --
especially in larger firms
24Steps in Hardware and Software Specification
- Note hardware in low-level network model to
create list of needed hardware - Describe equipment in as much detail as possible
- Consider whether increased processing and traffic
will absorb unused hardware capacity - Note all software running on each hardware
component
25GLOBAL ISSUES
26Global Requirements
- Multilingual requirements
- Concurrent multilingual systems
- Discrete multilingual systems
- Local versus centralized control
- Unstated norms (e.g. dates, currency)
- 24-7 Support
- Communications infrastructure
27SECURITY
28Identifying Threats to the System
- A threat is any potential adverse occurrence that
can do harm to the application or its data - Threats come from internal as well as external
sources - Categories of threats
- Disruptions, destruction and disaster
- Unauthorized access
29Most Common Threats
30Assessing the Risk of Each Threat
31Creating Controls
- A control is something that mitigates or stops a
threat - Controls include
- redundancy
- fault tolerant servers
- disaster recovery plans
- anti-virus software
32Additional Controls Include
- A security policy
- Passwords and encryption
- Firewalls
33Term Project
- What sort of computer architecture would you
recommend for your project? - Explain your preference.
34Summary
- The three fundamental computing architectures are
server-based, client-based, and client-server
based. - The network model shows technical components of
the system and their geographic location
throughout the organization. - Hardware and software must be specified for
acquisition in the project - The systems analyst needs to also account for
global issues and security measures.