

Besser lernen dank der zahlreichen Ressourcen auf Docsity
Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo
Prüfungen vorbereiten
Besser lernen dank der zahlreichen Ressourcen auf Docsity
Download-Punkte bekommen.
Heimse Punkte ein, indem du anderen Studierenden hilfst oder erwirb Punkte mit einem Premium-Abo
Types of distributed applications. Available what are the challenges and benifits
Art: Zusammenfassungen
1 / 3
Diese Seite wird in der Vorschau nicht angezeigt
Lass dir nichts Wichtiges entgehen!


➢ Architectural design is concerned with understanding how a software system should be organized and designing the overall structure of that system. ➢ It is the critical link between design and requirements engineering, as it identifies the main structural components in a system and the relationships between them. ➢ Architecture in the small is concerned with the architecture of individual programs. At this level, we are concerned with the way that an individual program is decomposed into components. ➢ Architecture in the large is concerned with the architecture of complex enterprise systems that include other systems, programs, and program components. These enterprise systems may be distributed over different computers, which may be owned and managed by different companies. ➢ Designing and documenting software architecture has three advantages: ▪ Stakeholder communication ▪ System analysis ▪ Large-scale reuse ➢ System architectures are often modeled informally using simple block diagrams, Block diagrams present a high-level picture of the system structure, which people from different disciplines, who are involved in the system development process, can readily understand. ➢ Bass et al. (Bass, Clements, and Kazman 2012) dislike informal block diagrams for describing an architecture. They claim that these informal diagrams are poor architectural representations, as they show neither the type of the relationships among system components nor the components’ externally visible properties. ➢ There are two ways in which an architectural model of a program is used: ▪ As a way of encouraging discussions about the system design ▪ As a way of documenting an architecture that has been designed
➢ Architectural design is a creative process in which you design a system organization that will satisfy the functional and non-functional requirements of a system. ➢ Several common decisions span all design processes, and these decisions affect the non- functional characteristics of the system. ➢ Because of the close relationship between non-functional system characteristics and software architecture, the choice of architectural style and structure should depend on the non-functional requirements of the system: ▪ Performance ▪ Security ▪ Safety ▪ Availability ▪ Maintainability
➢ It is impossible to represent all relevant information about a system’s architecture in a single diagram, as a graphical model can only show one view or perspective of the system. ➢ Each architectural model only shows one view or perspective of the system.
➢ Krutchen (Krutchen 1995) in his well-known 4 +1 view model of software architecture, suggests that there should be four fundamental architectural views, which can be linked through common use cases or scenarios. He suggests the following views: ▪ A logical view ▪ A process view ▪ A development view ▪ A physical view ▪ Related using use cases or scenarios
➢ Widely used ways of organizing the architecture of a distributed system: ➢ Architectural pattern as a stylized, abstract description of good practice, which has been tried and tested in different systems and environments. ▪ Model-View-Controller pattern.
➢ The Layered Architecture pattern is another way of achieving separation and independence ➢ The MVC pattern, separates elements of a system, allowing them to change independently. ➢ The system functionality is organized into separate layers, and each layer only relies on the facilities and services offered by the layer immediately beneath it. ➢ This layered approach supports the incremental development of systems. ➢ As a layer is developed, some of the services provided by that layer may be made available to users. ➢ The architecture is also changeable and portable.
➢ Application systems are intended to meet a business or an organizational need. ➢ Commonalities have led to the development of software architectures that describe the structure and organization of types of software systems. ➢ Models of application architectures in several ways: ▪ As a starting point for the architectural design process ▪ As a design checklist ▪ As a way of organizing the work of the development team ▪ As a means of assessing components for reuse ▪ As a vocabulary for talking about applications
➢ Transaction processing applications are database-centered applications that process user requests for information and update the information in a database. ➢ These are the most common types of interactive business systems. ➢ They are organized in such a way that user actions can’t interfere with each other, and the integrity of the database is maintained. ➢ This class of system includes interactive banking systems, e-commerce systems, information systems, and booking systems. ➢ Transaction processing systems are interactive systems that allow information in a database to be remotely accessed and modified by several users. ➢ Information systems and resource management systems are examples of transaction processing systems
➢ Language processing systems are systems in which the user’s intentions are expressed in a formal language, such as a programming language. ➢ The language processing system processes this language into an internal format and then interprets this internal representation. ▪ The best-known language processing systems are compilers, which translate high-level language programs into machine code.