Abstract :
Software development is ultimately an engineering activity, whose primary activity is to deliver executable artifacts in a manner that balances the forces on that system. The forces that swirl around a software-intensive system include not only its purely functional requirements but also a multitude of nonfunctional ones, such as reliability, portability, and scalability. Each of these forces is resolved systemically, meaning that no single part of a system can be responsible for responding to a force. Rather, the system as a whole, with its parts working in an architected union, must confront these forces. Indeed, the fact that these forces are dynamic and might change radically over a system´s lifetime contributes to making software-intensive systems so complex
Keywords :
object-oriented methods; software portability; software reliability; software development; software engineering; software portability; software reliability; software scalability; software-intensive system; Computer architecture; Control systems; Graphics; Law; Open systems; Resilience; Scalability; Shape; Throughput; Usability; software development;