![]() |
|
Prior to the advent of digital computers, the electronics and other engineering disciplines used the term system as it is still commonly used today. However, with the arrival of digital computers on the scene and the development of software engineering as a separate discipline, it was often necessary to distinguish between engineered hardware artifacts, software artifacts, and the combined artifacts. A programmable hardware artifact, or machine, that lacks its software program is impotent; even as a software artifact, or program, is equally impotent unless it can be used to alter the sequential states of a suitable (hardware) machine. However, a hardware machine and its software program can be designed to perform an almost illimitable number of abstract and physical tasks. Business - List of business/finance/loan/mortgage resources Computers - List of computer hardware/software/peripheral resources Internet - List of webhosting/webdesign/internet marketing resources Software - List of software resources Web Design - List of web design/development resources Web Hosting - List of web hosting resources Web Promotion - List of search engine optimization/internet marketing resources Web Resources - List of other web resources Recreation - List of travel/hotel/cruise resources Casino - List of online gambling/poker/blackjack/roulette resources Health - List of online pharmacy/hospital/health resources Shopping - List of online shopping/gift resources Miscellaneous - List of all other resources not stated above
A software architecture, then, is an abstract representation of the software part of a system, capable of running on a special or general purpose computer. A good architecture may be viewed as a partitioning scheme, or algorithm, which partitions all of the system's present and foreseeable software requirements into a workable set of cleanly bounded subsystems with nothing left over. That is, it is a partitioning scheme which is exclusive, inclusive, and exhaustive. A major purpose of the partitioning is to arrange the elements in the software subsystems so that there is a minimum of communications needed among them. In both software and hardware, a good subsystem tends to be seen to be a meaningful "object." Moreover, a good architecture provides for an easy mapping to the user's requirements and the user's validation/acceptance tests of the user's (software) requirements. |
|
| © Copyright 2006, labhomenow.com |