1/19
Looks like no tags are added yet.
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
Architecture design
How a system is distributed across computers and what hardware/software each computer uses
Objective: assign the software components of the
information system to hardware devices
Hardware and software specification
Describes the hardware and software needed to support the system
Software system functions
Data storage: Stores the data
Data access logic: Get/Access stored data
Application logic: Performs the actual business processes (DFD, UC, reqs) → Do/rules
Presentation logic: Displays information to user & accepts user commands (Show/input)
Primary Hardware Components
Client computers: Devices used by the user to interact with the system
Servers: multi-user computers used to store software and data
Network: Connects the computers → to communicate
Client–Server Architectures
Divides processing between client devices and one or more servers
Client responsible for Presentation logic
Server handles Data access + Storage
Application logic varies
Benefits: Scalable, Compatible, Reliable, most favoured (cost)
Two-Tiered Client-Server
Client devices handle presentation & application logic, & server handles access & storage
Thick client: Most application logic on client
Thin client: little application logic on the client → most on server
Three-Tiered Client-Server
Client Device → Application Server (specialized server) → Database Server
n-Tiered Client-Server
Splits the application work into more specialized layers/servers → work-load balancing
Cons: higher load on network & more difficult server communication
Server-Based Architecture
Server does essentially all the processing & client/terminal does very little → good for security & high transaction volumes
Mobile Application Architecture
Rich client: most processing on mobile device/client
Thin web client: most processing on server
Rich Internet app: browser-based & some client processing for richer User Interface
Mobile Application Options
Native: built for a specific Operating system & device
Cross-platform frameworks: one framework → multiple platforms
Mobile Web app: browser-based & platform independent → limited user experience
Virtualization
Creating a virtual version of a physical device/resource/server
Server virtualization: 1 physical server → many virtual servers
Storage virtualization: many storage devices → 1 virtual storage unit
Cloud computing
Computing resources delivered as a service when and where needed
Advantages: Elastic scale resources up/down with demand, Accessible, customers pay for resources as they’re used
Creating an architecture design
Begins with the nonfunctional requirements
Operational, Performance, Security, & Cultural and political requirements
Operational requirements
Technical Environment (hardware, software, network), System Integration, Portability, Maintainability (adaptability)
Performance requirements
Speed, Capacity, Availability & reliability
Security requirements
System Value estimates, Access Control, Encryption and Authentication, Virus control
Cultural and political requirements
Multilingual, Customization, Making Unstated Norms Explicit (assumptions for different countries), Legal
Encryption
Disguising information
Symmetric: same key encrypts & decrypts data
Asymmetric: different keys encrypt & decrypt data
Hardware/software specification
Document describing the hardware and software needed to support the system/application
Software needed for each component → Hardware needed → Minimum requirements
Selection: considers Features, Performance, Legacy, Operating System future strategy, Cost, Political & Vendor performance