Content deleted Content added
CoderGnome (talk | contribs) m →Background: Updated V&V link |
|||
Line 27:
Consequently, within these engineering disciplines, a system generally refers to a programmable hardware machine and its included program. And a systems engineer is defined as one concerned with the complete device, both hardware and software and, more particularly, all of the interfaces of the device, including that between hardware and software, and especially between the complete device and its user (the CHI). The [[hardware architect|hardware engineer]] deals (more or less) exclusively with the hardware device; the [[software engineer]] deals (more or less) exclusively with the software program; and the [[systems engineer]] is responsible for seeing that the software program is capable of properly running within the hardware device, and that the system composed of the two entities is capable of properly interacting with its external environment, especially the user, and performing its intended function.
By analogy, then, a systems architecture makes use of elements of both software and hardware and is used to enable design of such a composite system. A good architecture may be viewed as a '[[partitioning]] [[Scheme (mathematics)|scheme]],' or [[algorithm]], which partitions all of the system's present and foreseeable requirements into a [[workable]] set of cleanly [[bounded]] [[subsystem]]s 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 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 [[
A '''robust architecture''' is said to be one that exhibits an [[Optimization (computer science)|optimal]] degree of [[fault-tolerance]], [[backward compatibility]], [[forward compatibility]], [[extensibility]], [[reliability]], [[maintainability]], [[availability]], [[serviceability]], [[usability]], and such other [[ilities]] as necessary and/or desirable.
|