MTAT Software Engineering
|
|
- Cecily Cook
- 5 years ago
- Views:
Transcription
1 MTAT Software Engineering Lecture 07: Architecture and Design Dietmar Pfahl Fall
2 ATI Päev 2015 ICS Day 2015 When? Friday, 16-Oct-2015, 14:00-17:00 What and Who? Welcome and Information Overview Session (in 2-111) Several research groups present their work in alternating and parallel sessions (smaller groups) Why? To inform about the cool research BSc topics
3 Schedule of Lectures Week 01: Introduction to SE Week 02: Requirements Engineering I Week 03: Requirements Engineering II Week 04: Analysis Week 05: Development Infrastructure I Week 06: Development Infrastructure II Week 07: Architecture and Design Week 08: No lecture Week 09: Refactoring Week 10: Verification and Validation I Week 11: Industry Lecture (Testing) Week 12: Verification and Validation II Week 13: Agile/Lean Methods Week 14: Industry Lecture (Agile) Week 15: Measurement / Course wrap-up, review and exam preparation Week 16: no lecture
4 Acknowledgements Textbooks/Slides: Ian Sommerville: Software Engineering, 9th edition, 2010 ( Hans van Vliet: Software Architecture, Free University of Amsterdam, Lecture 2008 Richard Taylor et al.: Software Architecture, University of California at Irvine, Lecture 2011 Alexander Serebrenik: Software architecture: Domain-Specific Software Architecture and Architectural Patterns, TU Eindhoven, Lecture 2013 George Fairbanks: Just Enough Software Architecture, 2012 (Video: Tutorials by Derek Banas (on YouTube)
5 Structure of Lecture 07 What is it? Why bother? Terminology: Architect, Architecting, Architecture Viewpoints and View Models Notation Patterns, Styles and DSSAs
6 Two Telephone Systems
7 Two Telephone Systems Pro s and Con s Quality Attribute Landline Phone VoIP (Skype) Power Outage Tolerant Reliable + - Scalable - ++ Extendable (new features) - ++
8 Trade-Offs and Decision-Making Template Telephone system for a Fire Brigade Station: Because <Power Outage Tolerance> is more important than <Scalability> for this system, we choose a <Landline Phone>, accepting <a higher cost for adding new subscribers>. Quality Attribute Landline Phone VoIP (Skype) Power Outage Tolerant Reliable + - Scalable - ++ Extendable (new features) - ++
9 Exercise: Analysis of Alarm Clock Architectures Consider standard alarm clocks that you have seen. For this exercise, consider each of the following to be representative of an architectural style of alarm clocks: An LED alarm clock for a bedroom, A LCD travel alarm, An analog alarm clock (there are several varieties; choose one).
10 Architecture Evaluation/Analysis Assess whether architecture allows system to meet certain quality goals e.g. regarding maintainability, modifiability, reliability, performance,... Note: the architecture is assessed, while we hope the results will hold for a system yet to be built Software architecture Properties implementation properties? Software system Qualities
11 List of Analysis Methods SAAM (Scenario-based Architecture Analysis Method) SAAMER (Software Architecture Analysis Method for Evolution and Reusability) ATAM (The Architecture Trade-Off Analysis Method) SBAR (Scenario-Based Architecture Reengineering)... and many more...
12 Let s Design a Software System! CSR: Customer Service Request Source: George Fairbanks: Just Enough Software Architecture, 2012
13 Real Story Rackspace e.g., scalability
14 Rackspace: Architecture 1 CSR: Customer Service Request grep examples:
15 Rackspace: Architecture 2 CSR: Customer Service Request
16 Rackspace: Architecture 3 CSR: Customer Service Request (
17 Rackspace: Quality Attribute Trade-offs
18 Architecture Drivers Importance Difficulty Stimulus Response
19 What if you don t think architecturally? Remember: All programs have an architecture... But not every architecture suits the program (or: problem)!
20 Structure of Lecture 07 What is it? Why bother? Terminology: Architect, Architecting, Architecture Viewpoints and View Models Notation Patterns, Styles and DSSAs
21 Terminology Architect Person Architecting Process Architecture Product
22 The Role of the Architect client, users requirements architect solutions developers assess creates assess visualises prescribes appearance, behaviour architectural design construction, co-operation
23 Pre-Architecture Life-Cycle stakeholders (few) functionality quality Characteristics: Iteration mainly on functional requirements Few stakeholders involved No balancing of functional and quality requirements agreement development
24 Adding Architecture: The Easy Way stakeholders (few) functionality quality agreement architecture detailed design development implementation
25 Architecture in the Life-Cycle stakeholders (many) functionality quality architecture Characteristics: Iteration on both functional and quality requirements Many stakeholders involved agreement development Balancing of functional and quality requirements
26 Rational Architecture Decisions Gottfried Wilhelm Leibnitz
27 Design Issues, Options and Decisions A designer is faced with a series of design issues These are sub-problems of the overall design problem. For example, a design issue can be the type and level of security. Security can be decomposed into authentication, authorization, and privacy. Each issue usually has several alternative solutions (or design options) The designer makes a design decision to resolve each issue. This process involves choosing the best option from among the alternatives. Attribute-Driven Design (ADD)
28 ADD Example Iterations Top-level: usability separate UI 3-tier architecture Lower-level, within user interface: security authenticate users Lower-level, within data layer: availability active redundancy
29 Decision Space The space of possible designs that can be achieved by choosing different sets of alternatives. Issues that can be relevant in the decision process could be: - level of flexibility; - outsourcing/external acquisition of client technology (that mans need for separate presentation also relevant for the budget); - if using the Web/Internet; - performance;...
30 Tree or Graph? Issues and options are not independent... A number of options become invalid due to a desired NFR (quality). For example, flexibility could be achieved through certain architectural patterns, like MVC which facilitates separation of concerns and layered architecture restricting client-server interactions. If we choose any of the two, we exclude the 'monolithic' sub-tree and we need a separate GUI layer.
31 More than just IT Technical and non-technical issues and options are intertwined Architects deciding on the type of database versus Management deciding on new strategic partnership or Management deciding on budget
32 Once again: Why is documenting design decisions important? Design rationale example: Prevents repeating (expensive) past steps Explains why this is a good (better: suitable) architecture Emphasizes qualities and criticality for requirements/goals Provides context and background
33 Now, what is Architecture?
34 Architecture in Construction of Buildings
35 Software Architecture Architecture is conceptual. Architectural descriptions are concrete, but the architecture itself is inherently conceptual, and cannot be captured in any (set of) views nor in the code. Architecture is about fundamental things. Abstraction!!! Architecture exists in some context. We can only understand qualities in context. -> Views!!!
36 Software Architecture Definition (1) The architecture of a software system defines that system in terms of computational components and interactions among those components. 2 (from Shaw and Garlan, Software Architecture, Perspectives on an Emerging Discipline, Prentice-Hall, 1996) statement procedure module (design) pattern architecture
37 Software Architecture Definition (2) The software architecture of a system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, and the relationships among them. 3 (from Bass, Clements, and Kazman, Software Architecture in Practice, SEI Series in Software Engineering. Addison-Wesley, 2003)
38 Software Architecture Definition (3) Architecture is the fundamental organization of a system embodied in its components, their relationships to each other and to the environment and the principles guiding its design and evolution 4 (from IEEE Standard on the Recommended Practice for Architectural Descriptions, 2000)
39 Architecture Sloppy Definitions Architecture is high-level design Architecture is overall structure of the system Architecture is components and connectors Architecture is the structure, the behavior (properties), and the principles and guidelines governing its design and evolution over time
40 Why is Architecture Important? Architecture is the vehicle for stakeholder communication Architecture manifests the earliest set of design decisions Constraints on implementation Dictates organizational structure Inhibits or enables quality attributes Architecture is a transferable abstraction of a system Product lines share a common architecture Allows for template-based development Basis for training
41 Structure of Lecture 07 What is it? Why bother? Terminology: Architect, Architecting, Architecture Viewpoints and View Models Notation Patterns, Styles and DSSAs
42 Analogy with Building Architecture Overall picture of building (client) Front view (client, municipal beauty committee) Separate picture for water supply (plumber) Separate picture for electrical wiring (electrician) etc
43 IEEE Model for Architectural Descriptions Env ironment Mission Sy stem Architecture System stakeholder: an individual, team, or organization (or classes hereof) with interests in, or concerns relative to, a system. Stakeholder Architecture Description Rationale View: a representation of a whole system from the perspective of a related set of concerns. Concern Viewpoint Library Viewpoint View Model Viewpoint: A viewpoint establishes the purposes (concerns) and audience (stakeholders) for a view and the techniques or methods employed in constructing a view.
44 Kruchten s 4+1 View Model End-user Functionality Programmers Software management Logical Viewpoint Implementation Viewpoint Scenarios Process Viewpoint Deployment Viewpoint Integrators Performance Scalability System engineers Topology Communications
45 Kruchten s 4+1 View Model Supports the functional requirements, i.e., the services the system should provide to its end users. Typically, it shows the key abstractions (e.g., classes and associations amongst them). End-user Functionality Logical Viewpoint Process Viewpoint Scenarios Programmers Software management Implementation Viewpoint Deployment Viewpoint Integrators Performance Scalability System engineers Topology Communications
46 Kruchten s 4+1 View Model Takes into account some nonfunctional requirements, such as performance and system availability. It addresses concurrency and distribution, system integrity, and faulttolerance. The process view also specifies which thread of control executes each operation of each class identified in the logical view. So the process view describes the mapping of functions to runtime elements. It concerns the dynamics of the system. A process is a group of tasks which form a logical unit. A process can be started, stopped, resumed, etc., and there is communication between processes. End-user Functionality Logical Viewpoint Process Viewpoint Integrators Performance Scalability Scenarios Programmers Software management Implementation Viewpoint Deployment Viewpoint System engineers Topology Communications
47 Kruchten s 4+1 View Model End-user Functionality Logical Viewpoint Process Viewpoint Scenarios Programmers Software management Implementation Viewpoint Deployment Viewpoint Focuses on the organization of the actual software modules in the software-development environment. The software is packaged in small chunks (program libraries or subsystems) that can be developed by one or more developers. Integrators Performance Scalability System engineers Topology Communications
48 Kruchten s 4+1 View Model End-user Functionality Logical Viewpoint Process Viewpoint Integrators Performance Scalability Scenarios Programmers Software management Implementation Viewpoint Deployment Viewpoint System engineers Topology Communications => Physical view: Defines how the various elements identified in the logical, process, and implementation views (networks, processes, tasks, and objects) must be mapped onto the various nodes. Takes into account the system's non-functional requirements such as system availability, reliability (faulttolerance), performance (throughput), and scalability.
49 4 + 1: Scenario Viewpoint Consists of a small subset of important scenarios (e.g., use cases) to show that the elements of the four views work together seamlessly. This view is redundant with the other ones (hence the "+1"), but it plays two critical roles: Acts as a driver to help designers discover architectural elements during the architecture design; Validates and illustrates the architecture design, both on paper and as the starting point for the tests of an architectural prototype. End-user Functionality Logical Viewpoint Process Viewpoint Integrators Performance Scalability Scenarios Programmers Software management Implementation Viewpoint Deployment Viewpoint System engineers Topology Communications
50 Structure of Lecture 07 What is it? Why bother? Terminology: Architect, Architecting, Architecture Viewpoints and View Models Notation Patterns, Styles and DSSAs
51 Standard Notation: UML Alternatives: ADLs = Architecture Description Languages
52 Architecture presentations in practice By and large two flavors: Powerpoint slides for managers, users, consultants, etc UML diagrams, for technicians A small sample
53 Conceptual View Customer, Users
54 More technical view Developers (same system as on previous slide)
55 Runtime View Deployment View Runtime Component Deployment View Component clientars User machine Search App. Server 1, App Server 2 (WebLogic 7.0) ReserveAndBuy App. Server 1, App Server 2 (WebLogic 7.0) Authenticate App. Server 1, App Server 2 (WebLogic 7.0) ArsStartup App. Server 1, App Server 2 (WebLogic 7.0) LocalRestart App. Server 1, App Server 2 (WebLogic 7.0) ARS Database DB Server (MS SQL Server) CreditCard Database DB Server (MS SQL Server) CreditCard Naming server & Replication mgr God Naming server & Replication mgr
56 High-level overview of the architecture (Logical view Implementation view) A University Course Catalogue System Application layer This Application layer has all the boundary classes that represent the application screens that the user sees. Business Services layer The Business Services process layer has all the controller classes that represent the use case managers that drive the application behavior. This layer represents the client-to-mid-tier border. Middleware layer The Middleware layer supports access to Relational DBMS and OODBMS. Base Reuse package The Base Reuse package includes classes to support list functions and patterns. (see doc on course wiki)
57 Process view of the architecture. Shows the tasks (processes and threads) involved in the system's execution, their interactions and configurations. Processes exist to support student registration, professor functions, registration closing, and access to the external Billing System and Course Catalog System.
58 Deployment view of the architecture. Shows the various physical nodes for the most typical platform configurations. Also shows the allocation of tasks (from the Process View) to the physical nodes.
59 So, Different representations For different people For different purposes These representations are both descriptive and prescriptive More formal: Architecture Description Languages (ADLs)
60 Structure of Lecture 07 What is it? Why bother? Terminology: Architect, Architecting, Architecture Viewpoints and View Models Notation Patterns, Styles and DSSAs To be continued in next lecture
61 Further Reading Len Bass et al, Sofware Architecture in Practice, 2008 (3 rd edition). Jan Bosch, Design & Use of Software Architectures, Frank Buschmann et al., Pattern-Oriented Software Architecture: A System of Patterns, Part II: George Fairbanks: Just Enough Software Architecture, Erich Gamma et al., Design Patterns: Elements of Reusable Object-Oriented Software, C. Hofmeister et al., Applied Software Architecture, Philippe B. Kruchten, The 4+1 view model of architecture, IEEE Software, 12(6):42-50, November Mary Shaw and David Garlan, Software Architecture; Perspectives of an Emerging Discipline, Richard Taylor et al.: Software Architecture, University of California at Irvine, Lecture Ian Sommerville: Software Engineering, 9th edition, ( Hans van Vliet: Software Architecture, Free University of Amsterdam, Lecture 2008.
62 Next Lecture in 2 weeks from today! Date/Time: Friday, 30-Oct, 10:15-12:00 Topic: Refactoring (and TDD) For you to do: Finish and submit Lab Task 3
10/27/2014. MTAT Software Engineering. Exams. Acknowledgements. Schedule of Lectures. A tale of two systems. Structure of Lecture 07
MTAT.03.094 Software Engineering Lecture 07: Architecture and Design Exams Date Time Place: Exam 1: Friday, 09-Jan-2015, 14:15-16:15, room 2-405 Exam 2: Friday, 16-Jan-2015, 14:15-16:15, room 2-405 Re-take
More informationMTAT Software Engineering
MTAT.03.094 Software Engineering Lecture 07: Architecture and Design Part I Dietmar Pfahl Fall 2013 email: dietmar.pfahl@ut.ee Schedule of Lectures Week 01: Introduction to SE Week 02: Requirements Engineering
More informationMTAT Software Engineering
MTAT.03.094 Software Engineering Lecture 07: Architecture and Design Dietmar Pfahl Fall 2017 email: dietmar.pfahl@ut.ee Schedule of Lectures Week 01: Introduction to SE Week 02: Requirements Engineering
More informationSoftware Architecture
Software Architecture Does software architecture global design?, architect designer? Overview What is it, why bother? Architecture Design Viewpoints and view models Architectural styles Architecture asssessment
More informationSoftware Architecture
Software Architecture Architectural Design and Patterns. Standard Architectures. Dr. Philipp Leitner @xleitix University of Zurich, Switzerland software evolution & architecture lab Architecting, the planning
More informationIntroduction to software architecture Revision : 732
Introduction to software architecture Revision : 732 Denis Conan Septembre 2018 Foreword The content of these slides is extracted from the following references: L. Bass, P. Clements, and R. Kazman. Software
More informationSOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA
SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA PURPOSE OF THIS CLASS An introduction to software architecture What is an architecture Why it is important How it is represented
More informationArchitectural Blueprint
IMPORTANT NOTICE TO STUDENTS These slides are NOT to be used as a replacement for student notes. These slides are sometimes vague and incomplete on purpose to spark a class discussion Architectural Blueprint
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationLecture 13 Introduction to Software Architecture
Lecture 13 Introduction to Software Architecture Software Systems Design and Implementation ITCS/ITIS 6112/8112 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at
More informationOT TU1 Software Architecture Using Viewpoints and Perspectives
Eoin Woods Artechra Limited OT2004 - TU1 Software Architecture Using Viewpoints and Perspectives Nick Rozanski French Thornton eoin.woods@ nick.rozanski@ artechra.com french-thornton.co.uk (C) 2004 Artechra
More informationDesigning Component-Based Architectures with Rational Rose RealTime
Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers
More informationChapter 6 Architectural Design. Chapter 6 Architectural design
Chapter 6 Architectural Design 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process for identifying
More informationSoftware architecture: Introduction
2IW80 Software specification and architecture Software architecture: Introduction Alexander Serebrenik This week sources Slides by Johan Lukkien and Rudolf Mak Software architecture Software architecture
More informationDog Houses to sky scrapers
CSC40232: SOFTWARE ENGINEERING Professor: Jane Cleland Huang Architecture Wednesday, April 19th sarec.nd.edu/courses/se2017 Department of Computer Science and Engineering Dog Houses to sky scrapers WHY
More informationSoftware Architectures
Software Architectures Richard N. Taylor Information and Computer Science University of California, Irvine Irvine, California 92697-3425 taylor@ics.uci.edu http://www.ics.uci.edu/~taylor +1-949-824-6429
More informationCh 1: The Architecture Business Cycle
Ch 1: The Architecture Business Cycle For decades, software designers have been taught to build systems based exclusively on the technical requirements. Software architecture encompasses the structures
More informationADD 3.0: Rethinking Drivers and Decisions in the Design Process
ADD 3.0: Rethinking Drivers and Decisions in the Design Process Rick Kazman Humberto Cervantes SATURN 2015 Outline Presentation Architectural design and types of drivers The Attribute Driven Design Method
More informationSoftware Architectures. Lecture 6 (part 1)
Software Architectures Lecture 6 (part 1) 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements
More informationWhat is your definition of software architecture?
What is your definition of software architecture? WHAT IS YOUR DEFINITION OF SOFTWARE ARCHITECTURE? The SEI has compiled a list of modern, classic, and bibliographic definitions of software architecture.
More informationWhat is Software Architecture
What is Software Architecture Is this diagram an architecture? (ATM Software) Control Card Interface Cash Dispenser Keyboard Interface What are ambiguities in the previous diagram? Nature of the elements
More informationArchitectural Blueprint The 4+1 View Model of Software Architecture. Philippe Kruchten
Architectural Blueprint The 4+1 View Model of Software Architecture Philippe Kruchten Model What is a model? simplified abstract representation information exchange standardization principals (involved)
More informationCreating and Analyzing Software Architecture
Creating and Analyzing Software Architecture Dr. Igor Ivkovic iivkovic@uwaterloo.ca [with material from Software Architecture: Foundations, Theory, and Practice, by Taylor, Medvidovic, and Dashofy, published
More informationEPL603 Topics in Software Engineering
Lecture 5 Architectural Design & Patterns EPL603 Topics in Software Engineering Efi Papatheocharous Visiting Lecturer efi.papatheocharous@cs.ucy.ac.cy Office FST-B107, Tel. ext. 2740 Topics covered Software
More informationINTERACTION ARCHITECTURAL MODELING. Lecture 9 Interaction Architectureal Modeling
User Centred Design 09 INTERACTION ARCHITECTURAL MODELING Lecture 9 Interaction Architectureal Modeling PREVIOUS LESSON(S) Synthetizing User Research Personas Actors / User Roles Scenarios Essential Use
More informationDescribing Information Systems Moving Beyond UML
Describing Information Systems Moving Beyond UML Eoin Woods Artechra eoin@artechra.com Nick Rozanski Artechra nick@artechra.com Timetable 10:00-10:10 Introductions 10:10-10:25 - Presentation: Architectural
More informationCS560 Lecture: Software Architecture Includes slides by I. Sommerville
CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control
More informationCoordination Patterns
Coordination Patterns 1. Coordination Patterns Design Patterns and their relevance for Coordination Oscar Nierstrasz Software Composition Group Institut für Informatik (IAM) Universität Bern oscar@iam.unibe.ch
More informationAn introduction to the IBM Views and Viewpoints Framework for IT systems
An introduction to the IBM Views and Viewpoints Framework for IT systems By Denise Cook, Software Engineer Peter Cripps, Senior IT Architect Philippe Spaas, Executive IT Architect IBM Corporation December
More informationSoftware architecture: Introduction
2IW80 Software specification and architecture Software architecture: Introduction Alexander Serebrenik This week sources Slides by Johan Lukkien and Rudolf Mak Software architecture Software architecture
More informationLOG8430: Architecture logicielle et conception avancée
LOG8430: Architecture logicielle et conception avancée Modeling, OO Concepts, and Design Patterns Winter 2018 Fabio Petrillo Chargé de Cours This work is licensed under a Creative 1 Commons Attribution-NonCommercialShareAlike
More informationTopic : Object Oriented Design Principles
Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities
More informationVendor: The Open Group. Exam Code: OG Exam Name: TOGAF 9 Part 1. Version: Demo
Vendor: The Open Group Exam Code: OG0-091 Exam Name: TOGAF 9 Part 1 Version: Demo QUESTION 1 According to TOGAF, Which of the following are the architecture domains that are commonly accepted subsets of
More informationQuality-Driven Architecture Design Method
Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper
More informationWhat is a software architecture?
What is a software architecture? Peter Eeles, Senior IT Architect, IBM, 15 Feb 2006 There is no doubt that the world is becoming increasingly dependent on software. Software is an essential element of
More informationWHAT IS SOFTWARE ARCHITECTURE?
WHAT IS SOFTWARE ARCHITECTURE? Chapter Outline What Software Architecture Is and What It Isn t Architectural Structures and Views Architectural Patterns What Makes a Good Architecture? Summary 1 What is
More informationThe Past, Present and Future of Software Architecture
The Past, Present and Future of Software Architecture Eoin Woods UBS Investment Bank eoin@artechra.com www.eoinwoods.info About me I m a working software architect Always worked as a software engineer
More informationArchitecture of Business Systems Architecture and the Role of the Architect
Sandro Schwedler Wolfram Richter Architecture of Business Systems Architecture and the Role of the Architect Lecture Outline Introduction (W) Lecture Overview Architecture & role of the Architect Views
More informationThe Process of Software Architecting
IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,
More informationFundamentals to Creating Architectures using ISO/IEC/IEEE Standards
Fundamentals to Creating Architectures using ISO/IEC/IEEE Standards What to Architect? How to Architect? IEEE Goals and Objectives Chartered by IEEE Software Engineering Standards Committee to: Define
More informationA Comparative Analysis of Architecture Frameworks
A Comparative Analysis of Architecture Frameworks Antony Tang Jun Han Pin Chen School of Information Technology DSTO C3 Research Centre Swinburne University of Technology Department of Defence Melbourne,
More informationNick Rozanski Andy Longshaw Eoin Woods. Sold! How to Describe, Explain and Justify your Architecture
Nick Rozanski Andy Longshaw Eoin Woods Sold! How to Describe, Explain and Justify your Architecture Objectives of Today If you are an architect who has to produce an Architectural Description, then this
More informationSoftware Architecture. Lecture 5
Software Architecture Lecture 5 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More informationOn ADLs and tool support for documenting view-based architectural descriptions
On ADLs and tool support for documenting view-based architectural descriptions Danny Weyns Alexander Helleboogh SATURN 2008, Software Engineering Institute, CMU DistriNet Labs @ Dept.Computer Science K.U.Leuven
More information9/5/2015. MTAT Software Engineering. Structure of Lecture 01. Course Information/Overview. Letter Grades. Student Feedback 2014/15
MTAT.03.094 Software Engineering Structure of Lecture 01 General Course Information/Overview Introduction into Software Engineering Lecture 01: Course Introduction Dietmar Pfahl Fall 2015 email: dietmar.pfahl@ut.ee
More informationDescribing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms?
Describing the architecture: Creating and Using Architectural Description Languages (ADLs): What are the attributes and R-forms? CIS 8690 Enterprise Architectures Duane Truex, 2013 Cognitive Map of 8090
More informationRequirements to models: goals and methods
Requirements to models: goals and methods Considering Garlan (2000), Kruchen (1996), Gruunbacher et al (2005) and Alter (2006-08) CIS Department Professor Duane Truex III Wojtek Kozaczynski The domain
More informationSommerville Chapter 6 The High-Level Structure of a Software Intensive System. Architectural Design. Slides courtesy Prof.
Sommerville Chapter 6 The High-Level Structure of a Software Intensive System Architectural Design Slides courtesy Prof.Mats Heimdahl 1 Fall 2 2013 Architectural Parallels Architects are the technical
More informationArchitectural design
6 Architectural design Objectives The objective of this chapter is to introduce the concepts of software architecture and architectural design. When you have read the chapter, you will: understand why
More informationUniversity of San Francisco Course Syllabus and Outline
College of Professional Studies BSIS 340 Business Data Networks and Telecommunications University of San Francisco Fall Semester 2008 Robert C. Hughes, M.S. Email: rchughes3@usfca.edu Enrolled Student
More informationFoundations of Software Engineering
Foundations of Software Engineering Lecture 9: Architecture Documentation, Patterns, and Tactics Christian Kaestner 1 Learning Goals Use notation and views to describe the architecture suitable to the
More informationSOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS
IT6602 SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS SYLLABUS: Introduction What is software architecture? Standard Definitions Architectural structures Influence of software architecture
More informationUsing the UML for Architectural Description Rich Hilliard
Using the UML for Architectural Description Rich Hilliard rh@isis2000.com Outline What is IEEE P1471? The IEEE P1471 Conceptual Framework Requirements on Architectural Descriptions Using the UML in the
More informationTonight s Agenda. CSC340: Requirements Engineering. Course Objectives. Requirements Engineering. Software Engineering. What is Software Engineering?
Tonight s Agenda CSC340: Engineering Jennifer Campbell Lecturer Part 1 Introduction to course content Course information Changes to the SE courses/program Part 2 What are requirements? CSC340 University
More informationDESIGN: ARCHITECTURE AND METHODOLOGY
DESIGN: ARCHITECTURE AND METHODOLOGY Software Engineering CS 130 Donald J. Patterson Content adapted from Essentials of Software Engineering 3rd edition by Tsui, Karam, Bernal Jones and Bartlett Learning
More informationIntroduction to Software Engineering 10. Software Architecture
Introduction to Software Engineering 10. Software Architecture Roadmap > What is Software Architecture? > Coupling and Cohesion > Architectural styles: Layered Client-Server Blackboard, Dataflow,... >
More informationLecture Notes UML UNIT-II. Subject: OOAD Semester: 8TH Course No: CSE-802
UNIT-II Lecture Notes On UML IMPORTANCE OF MODELING, BRIEF OVERVIEW OF OBJECT MODELING TECHNOLOGY (OMT) BY RAMBAUGH, BOOCH METHODOLOGY, USE CASE DRIVE APPROACH (OOSE) BY JACKOBSON. KHALID AMIN AKHOON 1
More informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures Chapter 6 Architectural design 2 PART 1 ARCHITECTURAL DESIGN
More informationSoftware Engineering with Objects and Components Open Issues and Course Summary
Software Engineering with Objects and Components Open Issues and Course Summary Massimo Felici Software Engineering with Objects and Components Software development process Lifecycle models and main stages
More informationChapter 18. Software Reuse
Chapter 18 Software Reuse Ian Sommerville Lutz Prechelt Ian Sommerville 2004, Software Engineering, 7th edition, prechelt@inf.fu-berlin.de 1 Objectives To explain the benefits of software reuse and some
More informationSoftware Architecture Extraction
Software Architecture Extraction Andrea Caracciolo Adapted from slides by Oscar Nierstrasz and Mircea Lungu Roadmap > Introduction to SAR > The Architecture of Architecture Recovery > Top-down SAR > Bottom-up
More informationLecture 16: (Architecture IV)
Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/8112 091 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct.
More informationChapter 6 Architectural Design. Lecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered ² Architectural design decisions ² Architectural views ² Architectural patterns ² Application architectures 2 Software architecture ² The design
More informationComponents Based Design and Development. Unit 3: Software Design Quick Overview
Components Based Design and Development Computer Engineering Studies Universidad Carlos III de Madrid Unit 3: Software Design Quick Overview Juan Llorens Högskolan på Åland Finland / Universidad Carlos
More informationPattern-Based Architectural Design Process Model
Pattern-Based Architectural Design Process Model N. Lévy, F. Losavio Abstract: The identification of quality requirements is crucial to develop modern software systems, especially when their underlying
More informationAttribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture. Luis Manuel Muegues Acosta Software Architect at Ryanair
Attribute Driven Design (ADD 3.0) Tackling complexity in the heart of Software Architecture Luis Manuel Muegues Acosta Software Architect at Ryanair Webinair esummit IASA 23 August 2017 Welcome to everyone
More informationThe ATCP Modeling Framework
The ATCP 2+9+1 Modeling Framework Bobbi Underbakke Adaptive Team Collaboration, Inc. 800.837.0677 atcprocess.com Adaptive Team Collaboration, Inc. March 22, 2005 Chris Armstrong Armstrong Process Group,
More informationESE Einführung in Software Engineering!
ESE Einführung in Software Engineering! 10. Software Architecture! Prof. O. Nierstrasz" Roadmap! > What is Software Architecture?" > Coupling and Cohesion" > Architectural styles:" Layered" Client-Server"
More informationViewpoints for Sensor based Environmental Information Systems
Viewpoints for Sensor based Environmental Information Systems Ruthbetha Kateule, Andreas Winter {kateule, winter}@se.uni-oldenburg.de Abstract: Sensor based environmental information systems are in use
More informationSoftware MEIC. (Lesson 4)
Software Architecture @ MEIC (Lesson 4)! Last class The Architecture Influence Cycle The AIC applied to Fénix Today Revisiting the definition of Software Architecture How to describe a Software Architecture
More informationSoftware Architecture
Software Systems Architecture, Models, Methodologies & Design - Introduction Based on slides and information from a variety of sources Including Booch Software Architecture High level design of large software
More informationINTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2
INTRODUCING A MULTIVIEW SOFTWARE ARCHITECTURE PROCESS BY EXAMPLE Ahmad K heir 1, Hala Naja 1 and Mourad Oussalah 2 1 Faculty of Sciences, Lebanese University 2 LINA Laboratory, University of Nantes ABSTRACT:
More informationCOMP 6471 Software Design Methodologies
COMP 647 Software Design Methodologies Fall 20 Dr Greg Butler http://www.cs.concordia.ca/~gregb/home/comp647-fall20.html Course Introduction Course People Course Components What the course is What the
More informationAnalyzing the Product Line Adequacy of Existing Components
Analyzing the Product Line Adequacy of Existing Components Jens Knodel and Dirk Muthig Fraunhofer Institute for Experimental Software Engineering (IESE), Fraunhofer-Platz 1, D-67663 Kaiserslautern, Germany
More informationWhat is Software Architecture? What is Principal?
What is Software Architecture? Definition: A software system s architecture is the set of principal design decisions about the system Software architecture is the blueprint for a software system s construction
More informationChapter 13: Architecture Patterns
Chapter 13: Architecture Patterns SAiP Chapter 13 J. Scott Hawker/R. Kuehl p. 1 Len Bass, Paul Clements, Rick Kazman, Topics What is a Pattern? Pattern Catalog Module patterns Component and Connector Patterns
More information1 Software Architecture
Some buzzwords and acronyms for today Software architecture Design pattern Separation of concerns Single responsibility principle Keep it simple, stupid (KISS) Don t repeat yourself (DRY) Don t talk to
More informationObjectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture
Objectives Architectural Design To introduce architectural design and to discuss its importance To explain the architectural design decisions that have to be made To introduce three complementary architectural
More informationArchitecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering
Readings and References Architecture CSE 403, Spring 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03sp/ References» Software Architecture, David Garlan, CMU, 2001 http://www-2.cs.cmu.edu/~able/publications/encycse2001/»
More informationUnit Wise Questions. Unit-1 Concepts
Unit Wise Questions Unit-1 Concepts Q1. What is UML? Ans. Unified Modelling Language. It is a Industry standard graphical language for modelling and hence visualizing a blue print of all the aspects of
More informationDescriptions for CIS Classes (Fall 2017)
Descriptions for CIS Classes (Fall 2017) Major Core Courses 1. CIS 1015. INTRODUCTION TO COMPUTER INFORMATION SYSTEMS. (3-3-0). This course provides students an introductory overview to basic computer
More informationReview of Basic Software Design Concepts. Fethi Rabhi SENG 2021
Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,
More informationTHE IMPACT OF E-COMMERCE ON DEVELOPING A COURSE IN OPERATING SYSTEMS: AN INTERPRETIVE STUDY
THE IMPACT OF E-COMMERCE ON DEVELOPING A COURSE IN OPERATING SYSTEMS: AN INTERPRETIVE STUDY Reggie Davidrajuh, Stavanger University College, Norway, reggie.davidrajuh@tn.his.no ABSTRACT This paper presents
More informationCSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)
CSSE 374: Logical Architecture Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu An Engineering Decision Learning Outcomes: O-O Design Demonstrate object-oriented
More informationSoftware Architecture
Software Architecture Mestrado em Engenharia Informática e de Computadores COMPANION TO THE FIRST EXAM ON JANUARY 8TH, 2016 VERSION: A (You do not need to turn in this set of pages with your exam) 1. Consider
More informationIn this Lecture you will Learn: System Design. System Architecture. System Architecture
In this Lecture you will Learn: System Design Chapter 13 The major concerns of system design The main aspects of system architecture, in particular what is meant by subdividing a system into layers and
More informationSoftware Architecture
Software Architecture L T JayPrakash jtl@iiitb.ac.in Software Architecture (recap) Other Influences on SA Therefore, SA is important and look into its constituents! Every software system has an architecture!
More informationChapter 6 Architectural Design
Chapter 6 Architectural Design Chapter 6 Architectural Design Slide 1 Topics covered The WHAT and WHY of architectural design Architectural design decisions Architectural views/perspectives Architectural
More informationLecture 1. Chapter 6 Architectural design
Chapter 6 Architectural Design Lecture 1 1 Topics covered Architectural design decisions Architectural views Architectural patterns Application architectures 2 Software architecture The design process
More informationSystems-Level Architecture. A Re-Introduction Arch. Reintro CSC Level of Design. Divide into two levels:
Systems-Level Architecture A Re-Introduction 12 - Arch. Reintro CSC407 1 Level of Design Divide into two levels: System-LevelArchitecture Programming-Level Design You know what design is OOD + written
More informationSoftware Architecture Thoughts for the System Security Design
Software Architecture Thoughts for the System Security Design Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 James Ivers April 17, 2007 Role of Software Architecture If
More information<<Subsystem>> Software Architecture Document
Ref Contract Number: Contractor: Copy SAD TEMPLATE of Software Architecture Document SAD Template Page 1 of 21 Software Architecture Document Prepared by: Title Name Signature
More informationArchitecture. CSE 403, Winter 2003 Software Engineering.
Architecture CSE 403, Winter 2003 Software Engineering http://www.cs.washington.edu/education/courses/403/03wi/ 21-February-2003 cse403-14-architecture 2003 University of Washington 1 References Readings
More informationThe Method for Verifying Software Architecture with FSP Model
The Method for Verifying Software Architecture with FSP Model Kim, Jungho SKC&C Inc., SK u-tower 25-1, Jeongja-dong, Bundang-gu, Seongnam-si, Gyeonggi-do 463-844, Korea kimjh@skcc.com Abstract C&C view
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2004 Professor Richard N. Taylor Lecture Notes: CM, Management, and Evolution Several Illustrations from Ian Sommerville s text http://www.ics.uci.edu/~taylor/ics_52_fq04/syllabus.html
More informationEngr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila
Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Software Design and Architecture Software Design Software design is a process of problem-solving
More informationDiseño y Evaluación de Arquitecturas de Software. Architecture Based Design Method
Diseño y Evaluación de Arquitecturas de Software Architecture Based Design Method César Julio Bustacara Medina Facultad de Ingeniería Pontificia Universidad Javeriana 08/10/2015 1 Architecture Based Design
More informationSOFTWARE ENGINEERING
SOFTWARE ENGINEERING INTRODUCTION TO SOFTWARE ENGINEERING. COURSE STRUCTURE AND REQUIREMENTS Saulius Ragaišis saulius.ragaisis@mif.vu.lt WHAT IS SOFTWARE ENGINEERING? First definition Software engineering
More informationIntroduction to Software Engineering
Introduction to Software Engineering 5. Software Architecture Mircea F. Lungu Based on a lecture by Oscar Nierstrasz. Roadmap > What is Software Architecture? > Architectural styles Layered Client-Server
More informationUser-centered design in technical communication
User-centered design in technical communication Information designer & information architect Sharing knowledge is better than having it. Tekom - TC Europe November 19-20, 2003 Nov. 19-20, 2003 User-centered
More information