BA371 - System Architecture (Fit)
Some assumptions:
We know the User Requirements; we know which user/org. tasks the system must support (keep
scope
under control;
'creeping' scope
is expensive).
Whe know the system functions.
Determine our technical constraints (Satzinger: application deployment environment):
Operating System(s):
Organizational/legacy constraints.
Expertise constraints.
Compatibility constraints.
Programming languages:
Do we even need to program?
Buy the whole thing: package? turnkey?
Build the application from other applications.
Legacy.
Expertise, training and learning constraints.
Platform/compatibility issues.
Compiled? Interpreted? Byte-compiled?
Leading vs. bleeding edge?
Third party tools:
Compatibility.
Performance.
Scalability.
Service and support?
Can internally support?
External support available (e.g., Oracle gold, silver and bronze).
Architectures:
Satzinger et al. (p. 304):
3-layer architecture
:
Data layer
: data repository.
Business logic layer
: "
implements the rules of business processing
"; the rules for building information from data.
View layer
: user interface rules; e.g., data to display (data layer) vs. format of the display (view layer).
Problem
: Are these really 'layers?' For instance, can the business logic layer be completely separated from the data layer?
Components (Satzinger's 'layers') must act in a system. Hence,
They are elements that must reside somewhere:
Same machine.
Different machines on same network.
Different machines on different networks.
They must communicate:
Protocol (e.g., HTTP, embedded SQL).
Data exchange mechanism (e.g., shared memory, files, middleware (driver), HTTP, XML).
They may act as subsystems.
Some examples of standard architectures:
24-month study
:
BLT
:
TeachEngineering
:
TeachEngineering architecture
TeachEngineering metadata
.
What about our project?
Windows; VB.Net
Components:
Factory editor/viewer
Audit type editor
Audit editor/viewer
Audit form generator..
Use tracker?
Recommended architecture (for now): (application) client - (database) server.