CS560 Lecture: Software Architecture Includes slides by I. Sommerville
|
|
- Timothy Green
- 6 years ago
- Views:
Transcription
1 CS560 Lecture: Software Architecture 2009 Includes slides by I. Sommerville
2 Architectural Design Design process for identifying the sub-systems making up a system and the framework for sub-system control and communication Output of this design process is a description of the software architecture Early stage of the system design Often carried out in parallel with some specification activities Involves identifying major system components and their communication 2
3 Definition of Software Architecture "a set of significant decisions about the organisation of a software system, the selection of the structural elements and the interfaces by which the system is composed, together with their behaviour as specified in the collaboration among these elements... composition into progressively larger subsystems" UML User Guide, G. Booch et al. "The structure of the components of a program/system, their interrelationships, and the principles governing their design and evolution over time." D. Garlan and D.E. Perry, IEEE Trans. on Soft. Eng., 21(4): ,
4 Advantages of Explicit Architecture Stakeholder communication Architecture may be used as a focus of discussion by system stakeholders. System analysis Means that analysis of whether the system can meet its nonfunctional requirements is possible. Large-scale reuse The architecture may be reusable across a range of systems. 4
5 System Structuring Concerned with decomposing the system into interacting subsystems. The architectural design is normally expressed as a block diagram presenting an overview of the system structure. Box and line diagrams - do not show the nature of component relationships nor the externally visible properties of the subsystems More specific models showing how sub-systems share data, are distributed and interface with each other may also be developed. 5
6 Architectural Design Decisions Is there a generic application architecture that can be used? How will the system be distributed? What architectural styles are appropriate? What approach will be used to structure the system? How will the system be decomposed into modules? What control strategy should be used? How will the architectural design be evaluated? How should the architecture be documented? 6
7 Architectural Styles The architectural model of a system may conform to a generic architectural model or style. An awareness of these styles can simplify the problem of defining system architectures. However, most large systems are heterogeneous and do not follow a single architectural style. 7
8 Some Styles Data-centred Architectures - a data store, e.g. a file system of database, resides at the centre of this architecture. client-server blackboard - Used in AI applications such as expert systems. Shared blackboard for reading and writing. Sends notification to clients when data of interest to the clients changes. Data Flow Architecture - input data are to be transformed through a series of components called processes. Pipes and filters - pipes transmit data from one filter to the next. Call and return architecture - classic program structure with a main() and subprograms. Also called procedures or functions. remote procedure call - function invocation across multiple computers. 8
9 More Styles Object-oriented Architecture - objects communicate via message passing. Objects can contain data and program logic. Variation - software framework - inverted library for application development. Layered Architecture - different layers defined at different levels of abstraction. Enables hiding of low-level detail from the upper layers. Used for protocol definition such as in computer networking. Virtual Machine - Simulate a system in software for the purposes of security or emulation. Example: Java virtual machine. Independent Components - uses events or signals for communication and coordination, e.g. Communication Sequential Processes (CSPs), and event-based systems such as interrupts. 9
10 Examples: The following slides give examples from Sommerville textbook. 10
11 Data-centred: CASE toolset architecture Design editor Code gener ator Design transla tor Project repository Pr ogram editor Design anal yser Repor t gener ator 11
12 Data-centred model Issues Advantages Efficient way to share large amounts of data; Sub-systems need not be concerned with how data is produced Centralised management e.g. backup, security, etc. Sharing model is published as the repository schema. Disadvantages Sub-systems must agree on a repository data model. Inevitably a compromise; No scope for specific management policies; Difficult to distribute efficiently. 12
13 Client-Server: Film and picture library Client 1 Client 2 Client 3 Client 4 Internet Catalo gue server Video server Picture server Web serv er Library catalo gue Film clip files Digitised photo g raphs Film and photo info. 13
14 Data Flow: Invoice processing system Issue receipts Receipts Read issued invoices Identify payments Find pa yments due Issue pa yment reminder Reminders Invoices Payments 14
15 Layered: Version management system Configuration management system layer Object management system layer Database system layer Operating system layer 15
16 Layered Model Used to model the interfacing of sub-systems. Organises the system into a set of layers (or abstract machines) each of which provide a set of services. Supports the incremental development of sub-systems in different layers. When a layer interface changes, only the adjacent layer is affected. However, often artificial to structure systems in this way. 16
17 Call-return model Main pro gram Routine 1 Routine 2 Routine 3 Routine 1.1 Routine 1.2 Routine 3.1 Routine
18 Interrupt-driven control Interrupts Interrupt vector Handler 1 Handler 2 Handler 3 Handler 4 Process 1 Process 2 Process 3 Process 4 18
19 Architectural Specification Architecture Style = {Component/Connector Vocabulary, Topology, Semantic Constraints} Questions to Consider: What is the underlying structural model? What is the underlying computational model? What are the properties of styles? What functions do they serve? 19
20 Structure Components (locus of computation), e.g. filter data store object process server Connectors (interactions between components), e.g. procedure call RPC pipe TCP/IP 20
21 Reading Software Engineering Textbooks Chapter 31 and 32 in Larman (2 nd ed.) Chapter 10 in Pressman (6 th ed.) Chapter 11 in Sommerville (8 th ed.) Chapter 9 in Maciaszek Garlan, D. and Shaw, M. An Introduction to Software Architecture, Advances in Software Engineering and Knowledge Engineering, Volume 1, World Scientific Publishing Co., ftarch.html introduction to the field of Software Architecture -the current state of the discipline and examines the ways in which architectural design can impact software design. outlines number of common architectural styles based onl experience 21
22 Books on Software Architecture Software Architecture in Practice 2nd ed., Len Bass, Paul Clements, Rick Kazman, Addison Wesley, Documenting Software Architectures: Views and Beyond, Paul Clements, Felix Bachmann, Len Bass, David Garlan, James Ivers, Reed Little, Robert Nord, Judith Stafford, Addison Wesley, The Art of Software Architecture: Design Methods and Techniques, Stephen T. Albin, Wiley, Large-Scale Software Architecture: A Practical Guide using UML, Jeff Garland, Wiley, Software Systems Architecture: Working With Stakeholders Using Viewpoints and Perspectives, Nick Rozansk, Eóin Woods, Addison- Wesley
Objectives. 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 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 informationEstablishing the overall structure of a software system
Architectural Design Establishing the overall structure of a software system Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 13 Slide 1 Objectives To introduce architectural design and
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
Architectural Design Objectives 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 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 informationArchitectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process
Architectural Design Objectives 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 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 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 informationSoftware Engineering
Software Engineering Engr. Abdul-Rahman Mahmood MS, MCP, QMR(ISO9001:2000) Usman Institute of Technology University Road, Karachi armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm
More informationArchitecture Viewpoint Template for ISO/IEC/IEEE 42010
Architecture Viewpoint Template for ISO/IEC/IEEE 42010 Rich Hilliard r.hilliard@computer.org VERSION 2.1b Abstract This is a template for specifying architecture viewpoints in accordance with ISO/IEC/IEEE
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 information5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered
Topics covered Chapter 6 Architectural Design Architectural design decisions Architectural views Architectural patterns Application architectures Lecture 1 1 2 Software architecture The design process
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 informationCS451 Lecture 8: Architectural Design. Architectural Design: Objectives
CS5 Lecture 8: Architectural Design Yugi Lee STB #555 (86) 5-59 leeyu@umkc.edu www.sice.umkc.edu/~leeyu Architectural Design: Objectives Establishing the overall structure of a software system To introduce
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 informationLecture 15 Distributed System Architectures
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 Lecture 15 Distributed System Architectures Architectural
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 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 informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Engineering Design Lecture 11 Motivation for studying SW architecture As the size of SW systems increases, the algorithms and data structures of the computation
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 informationCatalogue of architectural patterns characterized by constraint components, Version 1.0
Catalogue of architectural patterns characterized by constraint components, Version 1.0 Tu Minh Ton That, Chouki Tibermacine, Salah Sadou To cite this version: Tu Minh Ton That, Chouki Tibermacine, Salah
More informationArchitectural Design. Architectural Design. Software Architecture. Architectural Models
Architectural Design Architectural Design Chapter 6 Architectural Design: -the design the desig process for identifying: - the subsystems making up a system and - the relationships between the subsystems
More informationAn Introduction to Software Architecture
An Introduction to Software Architecture Software Requirements and Design CITS 4401 Lecture 11 Motivation for studying SW architecture As the size of SW systems increase, the algorithms and data structures
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 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 informationArchitectural Design. CSCE Lecture 12-09/27/2016
Architectural Design CSCE 740 - Lecture 12-09/27/2016 Architectural Styles 2 Today s Goals Define what architecture means when discussing software development. Discuss methods of documenting and planning
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 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 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 informationArchitectural Patterns: From Mud to Structure
DCC / ICEx / UFMG Architectural Patterns: From Mud to Structure Eduardo Figueiredo http://www.dcc.ufmg.br/~figueiredo From Mud to Structure Layered Architecture It helps to structure applications that
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 informationXVIII. Software Architectures
XVIII. Software Architectures Software Architectures Subsystems, Modules and Connectors Pipes and Filters, Object-Oriented, Layered, Event-Driven, Repository-Based Architectures Client Server Architectures
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 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 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 informationSoftware Language Engineering of Architectural Viewpoints
Software Language Engineering of Architectural Viewpoints Elif Demirli and Bedir Tekinerdogan Department of Computer Engineering, Bilkent University, Ankara 06800, Turkey {demirli,bedir}@cs.bilkent.edu.tr
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 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 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 informationFoundations of Software Engineering
Foundations of Software Engineering Lecture 8: Software Architecture II Christian Kästner (with slides by Ivan Ruchkin) 2 Learning Goals Understand key parts of architectural process Use architectural
More informationPESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of MCA
USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of CA INTERNAL ASSESSENT TEST II Date : 20/09/2016 ax.arks: 50 Subject & Code: Software Engineering
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 informationArchitectural Design
Architectural Design Topics i. Architectural design decisions ii. Architectural views iii. Architectural patterns iv. Application architectures PART 1 ARCHITECTURAL DESIGN DECISIONS Recap on SDLC Phases
More informationSystem Name Software Architecture Description
System Name Software Architecture Description Author Name Contact Details Version Date template 2011 Eoin Woods & Nick Rozanski 1 / 25 1. Version History Version Date Author Comments 1 July 08 Eoin Woods
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 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 informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
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 An Introduction to
More informationAn Introduction to Software Architecture. David Garlan & Mary Shaw 94
An Introduction to Software Architecture David Garlan & Mary Shaw 94 Motivation Motivation An increase in (system) size and complexity structural issues communication (type, protocol) synchronization data
More informationSoftware Architecture in Practice
Software Architecture in Practice Chapter 5: Architectural Styles - From Qualities to Architecture Pittsburgh, PA 15213-3890 Sponsored by the U.S. Department of Defense Chapter 5 - page 1 Lecture Objectives
More informationEstablishing the overall structure of a software system
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance To explain why multiple models are required to document
More informationArchitectural Design
Architectural Design Establishing the overall structure of a software system Ian Sommerville - Software Engineering 1 Software architecture The design process for identifying the sub-systems making up
More informationArchitectural Styles. Software Architecture Lecture 5. Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved.
Architectural Styles Software Architecture Lecture 5 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Object-Oriented Style Components are objects Data and associated
More informationSoftware Architecture Architectural Viewpoints. Martin Pinzger Software Engineering Research Group
Software Architecture Architectural Viewpoints Martin Pinzger Software Engineering Research Group SERG Educa&on Programming, so1ware engineering MSc, BSc projects Research So1ware architecture So1ware
More informationCHAPTER 5: PRINCIPLES OF DETAILED DESIGN. Software Engineering Design: Theory and Practice
CHAPTER 5: PRINCIPLES OF DETAILED DESIGN Software Engineering Design: Theory and Practice 1 1. Detailed Design Fundamentals 2. Structural and Behavioral Design of Components Software Engineering Design:
More informationObject-Oriented Design
Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use
More informationComparative Analysis of Architectural Views Based on UML
Electronic Notes in Theoretical Computer Science 65 No. 4 (2002) URL: http://www.elsevier.nl/locate/entcs/volume65.html 12 pages Comparative Analysis of Architectural Views Based on UML Lyrene Fernandes
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 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 informationArchitecture CSE 403. Fallingwater by Frank Lloyd Wright
Architecture CSE 403 Fallingwater by Frank Lloyd Wright Outline What is a software architecture? What does an architecture look like? What is a good architecture? Properties of architectures Example architectures
More informationDeveloping a Product-Line Based Architecture in a Domain Under Research
Developing a Product-Line Based Architecture in a Domain Under Research Valentino Vranić and Vladimír Marko Institute of Informatics and Software Engineering Faculty of Informatics and Information Technology
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 informationADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE
ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE Dave Clarke 1 THIS LECTURE At the end of this lecture you will know notations for expressing software architecture the design principles of cohesion
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 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 informationTopics in Architectural Design
Architectural Design Topics in Architectural Design Material drawn from [Bass et al. 98, Shaw96, CORBA98, CORBA96, IBM98, Gamma95, JavaIDL98] Software Architecture Topics Terminology and Motivation Abstraction
More informationUSDA/ARS. Conservation Planning Support System Software Architecture Document. Version <1.1>
USDA/ARS Conservation Planning Support System Software Architecture Document Version Revision History Date Version Description First Draft of the Software Architecture Doc.
More informationSoftware Architecture and Design I
Software Architecture and Design I Instructor: Yongjie Zheng February 23, 2017 CS 490MT/5555 Software Methods and Tools Outline What is software architecture? Why do we need software architecture? How
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 Architecture
Software Architecture Software Engineering - 2017 Alessio Gambi - Saarland University These slides are based the slides from Cesare Pautasso and Christoph Dorn, and updated from various sources. Architecture
More informationArchitectural Design Outline
Architectural Design Outline Prev lecture general design principles. design Today architectural 1. What is a software architecture 2. Components, Connectors, and Configurations 3. Modeling Architectures:
More informationLecture 2: Software Engineering (a review)
Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is
More informationCAS 703 Software Design
Dr. Ridha Khedri Department of Computing and Software, McMaster University Canada L8S 4L7, Hamilton, Ontario Acknowledgments: Material based on Software Architecture by Tao et al. (Chapters 6 and 7) 1
More informationSoftware Architectures. Lecture 3
Software Architectures Lecture 3 2 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
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 informationSoftware Architecture Viewpoint Models: A Short Survey
Software Architecture Viewpoint Models: A Short Survey Valiallah Omrani 1, Seyyed Ali Razavi Ebrahimi 2 1 Computer Science & Information Technology, Payam Noor University (PNU), Tehran, Iran omrani@inio.ac.ir
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 informationSoftware Engineering
Software Engineering Engr. Abdul-Rahman Mahmood MS, PMP, MCP, QMR(ISO9001:2000) armahmood786@yahoo.com alphasecure@gmail.com alphapeeler.sf.net/pubkeys/pkey.htm http://alphapeeler.sourceforge.net pk.linkedin.com/in/armahmood
More informationMechEng SE3 Lecture 7 Domain Modelling
MechEng SE3 Lecture 7 Domain Modelling Simon Gay (slides by Phil Gray) 17 February 2010 1 This week s supplementary reading Zero Balances and Zero Responsibility Michael Bolton http://www.developsense.com/essays/zero.html
More informationRecalling the definition of design as set of models let's consider the modeling of some real software.
Software Design and Architectures SE-2 / SE426 / CS446 / ECE426 Lecture 3 : Modeling Software Software uniquely combines abstract, purely mathematical stuff with physical representation. There are numerous
More informationFormal Specification of Software Systems
Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software
More informationAn Introduction to Software Architecture By David Garlan & Mary Shaw 94
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 An Introduction to
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 informationMTAT Software Engineering
MTAT.03.094 Software Engineering Lecture 07: Architecture and Design Dietmar Pfahl Fall 2015 email: dietmar.pfahl@ut.ee ATI Päev 2015 ICS Day 2015 When? Friday, 16-Oct-2015, 14:00-17:00 http://www.cs.ut.ee/en/ics-day
More informationReview Sources of Architecture. Why Domain-Specific?
Domain-Specific Software Architectures (DSSA) 1 Review Sources of Architecture Main sources of architecture black magic architectural visions intuition theft method Routine design vs. innovative design
More informationQuality-Driven Conformance Checking in Product Line Architectures
Quality-Driven Conformance Checking in Product Line Architectures Femi G. Olumofin and Vojislav B. Mišić University of Manitoba, Winnipeg, Manitoba, Canada Abstract Software product line are often developed
More informationSoftware Architecture
Software Architecture Good software architecture makes the rest of the project easy. Steve McConnell, Survival Guide There are two ways of constructing a software design: one way is to make it so simple
More informationDesign Patterns. Architectural Patterns. Contents of a Design Pattern. Dr. James A. Bednar. Dr. David Robertson
Design Patterns Architectural Patterns Dr. James A. Bednar jbednar@inf.ed.ac.uk http://homepages.inf.ed.ac.uk/jbednar Dr. David Robertson dr@inf.ed.ac.uk http://www.inf.ed.ac.uk/ssp/members/dave.htm A
More informationSoftware Architectures
Software Architectures Distributed Systems L-A Sistemi Distribuiti L-A Andrea Omicini andrea.omicini@unibo.it Ingegneria Due Alma Mater Studiorum Università di Bologna a Cesena Academic Year 2008/2009
More informationSoftware Processes. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1
Software Processes Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 4 Slide 1 Objectives To introduce software process models To describe three generic process models and when they may be
More informationLecturer: Sebastian Coope Ashton Building, Room G.18
Lecturer: Sebastian Coope Ashton Building, Room G.18 E-mail: coopes@liverpool.ac.uk COMP 201 web-page: http://www.csc.liv.ac.uk/~coopes/comp201 http://www.csc.liv.ac.uk/~pbell/comp201.html Lecture 13 Design
More informationArchitectural Styles I
Architectural Styles I Software Architecture VO/KU (707023/707024) Roman Kern KTI, TU Graz 2015-01-07 Roman Kern (KTI, TU Graz) Architectural Styles I 2015-01-07 1 / 86 Outline 1 Non-Functional Concepts
More informationSuggestions for Documenting SOA-Based Systems
Suggestions for Documenting SOA-Based Systems Stephany Bellomo September 2010 TECHNICAL REPORT CMU/SEI-2010-TR-041 ESC-TR-2010-106 Acquisition Support Program Unlimited distribution subject to the copyright.
More informationSoftware Architectures
Software Architectures Distributed Systems Sistemi Distribuiti Andrea Omicini andrea.omicini@unibo.it Dipartimento di Informatica: Scienza e Ingegneria (DISI) Alma Mater Studiorum Università di Bologna
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 informationLet s Teach Architecting High Quality Software
Let s Teach Architecting High Quality Software Linda Northrop CSEET 2006 2005 by Carnegie Mellon University MY GEOGRAPHY LESSON Hawaii Australia Pittsburgh, PA USA Let s Teach Architecting High Quality
More informationArchitectural Design
Architectural Design Minsoo Ryu Hanyang University 1. Architecture 2. Architectural Styles 3. Architectural Design Contents 2 2 1. Architecture Architectural design is the initial design process of identifying
More informationPredicting Architectural Styles from Component Specification
Predicting Architectural Styles from Component ification Sutirtha Bhattacharya PTD Automation Intel Corporation Hillsboro, OR 97124 Hsutirtha.bhattacharya@intel.comH Dewayne E. Perry Empirical Software
More informationIn his paper of 1972, Parnas proposed the following problem [42]:
another part of its interface. (In fact, Unix pipe and filter systems do this, the file system playing the role of the repository and initialization switches playing the role of control.) Another example
More informationSoftware Architectures. Lecture 8
Software Architectures Lecture 8 Roadmap of the course What is software architecture? Designing Software Architecture Requirements: quality attributes or qualities How to achieve requirements : tactics
More information