Sunday, March 9, 2008

Software solution

Keyword Name:software solution
AVG CPC:$7.62

Abount software solution
The Software architecture of a program or computing system is the structure or structures of the system, which comprise Software components, the externally visible properties of those components, and the relationships between them. The term also refers to documentation of a system's Software architecture. Documenting Software architecture facilitates communication between stakeholders, documents early decisions about high-level design, and allows reuse of design components and patterns between projects


The field of computer science has come across problems associated with complexity since its formation.[2] Earlier problems of complexity were solved by developers by choosing the right data structures, developing algorithms, and by applying the concept of separation of concerns. Although the term “Software architecture” is relatively new to the industry, the fundamental principles of the field have been applied sporadically by Software engineering pioneers since mid 1980s. Early attempts to capture and explain Software architecture of a system were imprecise and disorganized - often characterized by a set of box-and-line diagrams.[3] During the 1990’s there was a concentrated effort to define and codify fundamental aspects of the discipline. Initial sets of design patterns, styles, best practices, description languages, and formal logic were developed during that time.

The Software architecture discipline is centered on the idea of reducing complexity through abstraction and separation of concerns. To date there is still no agreement on the precise definition of the term “Software architecture”.[4]

As a maturing discipline with no clear rules on the right way to build a system, designing Software architecture is still a mix of art and science. The “art” aspect of Software architecture is because a commercial Software system supports some aspect of a business or a mission. How a system supports key business drivers is described via scenarios as non-functional requirements of a system, also known as quality attributes, determine how a system will behave.[5] Every system is unique due to the nature of the business drivers it supports, as such the degree of quality attributes exhibited by a system such as fault-tolerance, backward compatibility, extensibility, reliability, maintainability, availability, security, usability, and such other –ilities will vary with each implementation.[5]

To bring a Software architecture user's perspective into the Software architecture, it can be said that Software architecture gives the direction to take steps and do the tasks involved in each such user's speciality area and interest e.g. the stake holders of Software systems, the Software developer, the Software system operational support group, the Software maintenance specialists, the deployer, the tester and also the business end user[citation needed]. In this sense Software architecture is really the amalgamation of the multiple perspectives a system always embodies. The fact that those several different perspectives can be put together into a Software architecture stands as the vindication of the need and justification of creation of Software architecture before the Software development in a project attains maturity.



Content from wikipidia

No comments: