computer systems & architecture lesson 6 12. software architecture in the future

18
Computer Systems & Architecture Lesson 6 12. Software Architecture in the Futur

Upload: elvin-parsons

Post on 29-Dec-2015

219 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

Computer Systems & Architecture Lesson 6

12. Software Architecture in the Future

Page 2: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

12. Software Architecture in the Future

ObjectivesObjectives• Explain the architecture business cycle revisited.

• Discuss about creating an architecture.

• List the several areas ripe for research about architecture within the life cycle.

Page 3: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

12.1 Introduction

• The history of programming can be viewed as a succession of ever-increasing facilities for expressing complex functionality.

• Growth in the types of abstraction available over time:– 1960s - subroutines– 1970s - modules– 1980s - objects– 1990s - frameworks– 2000s - middleware and architecture

Page 4: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• In chapter 1, we introduced the ABC as the unifying theme of this book.

• We exemplified and elaborated this cycle throughout the book and have tried to convey some of the principles of architectural creation, representation, evaluation and development along the way.

12.2 The architecture business cycle revisited

Page 5: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• If the study of software architecture is to have stamina, there must be areas of research that create a more mature field, with results that can be transitioned into practice.

• In this context, we can now identify and discuss four different versions of the ABC that appear to have particular promise in terms of future research:

Page 6: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

- The simplest case, in which a single organization creates a single architecture for a single system.- One in which a business creates not just a

single system from an architecture but an entire product line of systems that are

related by a common architecture and a common asset base.

Page 7: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

- One in which, through a community-wide effort, a standard architecture or reference architecture is created from which large numbers of systems flow.

- One in which the architecture becomes so pervasive that the developing organization effectively becomes the world, as in the case of the World Wide Web.

Page 8: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

12.3 Creating an architecture

• In all of our case study, we emphasized the quality requirements for the system being built, the tactics used by the architect, and how these tactics were manifested in the architecture.

• Yet this process of moving from quality requirements to architectural designs remains an area where much fruitful research can be done.

• The design process remains as art, and introducing more science into the process will yield large results.

Page 9: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• Answers the following questions will improve the design process:– Are the lists of quality attribute scenarios and

tactics complete?– How are scenarios and tactics couples?– How can the results of applying a tactic be

predicted.– How are tactics combined into patterns.

Page 10: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

– What kind of tool support can assist in the design process?

– Can tactics be ‘woven’ into systems?

Page 11: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• Although we have argued that architecture is the artifact within the life cycle, the fact remains that a life cycle for a particular system comprises far more than architecture development.

• We see several areas ripe for research about architecture within the life cycle:– Documentation within a tool environment.– Software architecture within configuration

management systems.– Moving from architecture to code.

12.4 Architecture within the life cycle

Page 12: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• As we said in chapter 11, the capabilities and availability of commercial components are growing rapidly.

• So too are the availability of domain-specific architectures and the frameworks to support them, including the J2EE for information technology architectures.

• The day is coming when domain-specific architectures and frameworks will be available for many of today’s common domains.

12.5 The impact of commercial components

Page 13: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• As a result, architects will be concerned as much with constraints caused by the chosen framework as by green-field design.

• Not even the availability of components with extensive functionality will free the architect from the problems of design, however.

• The first thing the architect must do is determine the properties of the used components.

Page 14: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• Components reflect architectural assumptions, and it becomes the job of the architect to identify them and assess their impact on the system being designed.

• This requires either a rich collection of attribute models or extensive laboratory work, or both.

Page 15: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• Consumers of components will want a trusted validation agency, such as Under-writers Laboratories, to stand behind the predictions.

• Determination of the quality characteristics of components and the associated framework is important for design using externally constructed components.

Page 16: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• How will the architect know the effect of options that the framework provides, and even more difficult, the qualities achieved when the architect has no options?

• We need a method of enumerating the architectural assumptions of components and understanding the consequences of a particular choice.

Page 17: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• Finally, components and their associated frameworks must be produced and the production must be designed to achieve desired qualities.

• Their designers must consider an industry-wide set of stakeholders rather than those for a single company.

Page 18: Computer Systems & Architecture Lesson 6 12. Software Architecture in the Future

• Furthermore, the quality attribute requirements that come from the many stakeholders in an industry will likely vary more widely than the requirements that come from the stakeholders of a single company.