Page 55 - DCAP507_SYSTEM_SOFTWARE
P. 55

Unit 3: Machine Structure and Assembler Basic Functions




          disorganized, often characterized by a set of box-and-line diagrams. During the 1990s there was  Notes
          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 difficulty  through
          abstraction and separation of concerns. To date there is still no agreement on the precise definition
          of the term "software architecture".





             Notes  However, this does not mean that individuals do not have their own definition of
             what software architecture is. This leads to problems because many people are using the
             same language to describe differing ideas.

          As a growing regulation 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 profitable 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, decide how a system will behave. This could be
          thought of as a parallel to a mission statement and value system in business strategy. 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 facilities
          will vary with each implementation. 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 specialty area and interest, e.g., the stakeholders 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. In this
          sense software architecture is really the amalgamation of the multiple perspectives a system
          always embodies.

               !

             Caution  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.
          The beginning of software architecture as a concept was first recognized in the research work of
          Edsger Dijkstra in 1968 and David Parnas in the early 1970s. These scientists emphasized that the
          structure of a software system matters and getting the structure right is critical. The study of the
          field  increased  in  popularity  since  the  early 1990s  with research  work concentrating  on
          architectural styles (patterns), architecture description languages, architecture documentation,
          and formal methods.
          Research institutions have played a well-known role in furthering software architecture as a
          discipline.  Mary Shaw and David Garlan of  Carnegie Mellon wrote a  book titled Software
          Architecture: Perspectives on an Emerging Discipline in 1996, which brought forward the concepts
          in Software Architecture, such as components, connectors, styles and so on. The University of
          California, Irvine's Institute for Software Research's efforts in software architecture research is
          directed  primarily in architectural styles, architecture description  languages, and  dynamic
          architectures.







                                           LOVELY PROFESSIONAL UNIVERSITY                                   49
   50   51   52   53   54   55   56   57   58   59   60