multi-layer system | contains - a separate layer at the very top to handle the user interface
- layers that provide the application functions determined by the use-cases
- layers at the bottom provide services such as data storage and transmission
| |
contains layers with each layer communicating only with the layer immediately below it | |
has part layer | |
is a subtopic of 9.5 - Architectural Patterns | |
is a kind of software system | |
uses multi-layer architectural pattern | |
software system | becomes complex because it is easy to add new features and because software engineers typically add features without fully understanding a system, which may not have been originally designed to accommodate the features | |
can automate business process | |
can be divided in many ways: | |
is better at error handling if it effectively prevents the user from making errors, detects errors, and helps the user to correct errors | |
is typically initially developed as a prototype | |
must have well-described requirements if other systems or subsystems are going to use its services or communicate with it | |
should be designed for flexibility right from the start | |
undergoes evolution over its life-span | |
system | can have specification which is then implemented by a collection of components | |
exists even if its components change over the course of time, or are replaced by equivalent components | |
has scope | |
is divided up into subsystems | |