Ch 1: The Architecture Business Cycle
|
|
- Roy Robinson
- 6 years ago
- Views:
Transcription
1
2 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 of large software systems: abstract view eliminates details of implementation, algorithm, & data representation concentrates on the behavior & interaction of black box elements
3 Definition The software architecture of a program or computing 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.
4 Architecture Business Cycle (ABC) Quick Exercise : What is the relationship of a system s software architecture to the environment in which the system will be constructed and exist?
5 Architecture Business Cycle (ABC) Answer: Software architecture is a result of technical, business, and social influences. In turn, it affects each of these environments.
6 Figure 1.2 Influence of stakeholders on the architect
7 Architectural Activities Creating the Business Case for the System Understanding the Requirements Creating or Selecting the Architecture Communicating the Architecture Analyzing or Evaluating the Architecture Implementing Based on the Architecture Ensuring Conformance to an Architecture
8 What makes a Good Architecture? No such thing as an inherently good or bad architecture. Architectures are more or less fit for some stated purpose. Architectures can be evaluated -one of the great benefits of paying attention to them - but only in the context of specific goals. Rules of Thumb: process & product (structural) recommendations
9 Rules of Thumb (pp 15 & 16) Process Recommendations: include functional requirements and a prioritized list of quality attributes the system must satisfy analyze & formally evaluate before it is too late to change Product Recommendations: well-defined modules using principles of information hiding & separation of concerns separate modules that produce data from those that consume data to increase modifiability & staged upgrades write tasks or processes to allow easy reallocation, perhaps at runtime
10 Ch 2: What is Software Architecture? Quite often shown as box-and-arrow diagrams. Control Process (CP) Prop Loss Model (MODP) Reverb Model (MODR) Noise Model (MODN) Figure 2.1
11
12 What s Missing? What is the nature of the elements? What are the responsibilities of the elements? What is the significance of the connections? What is the significance of the layout? Unless we know precisely what the elements are & how they cooperate to accomplish the purpose of the system, this diagram is unhelpful!
13 Definition Again The software architecture of a program or computing system is the structure or structures of the system, which comprise software elements, the externally visible properties of those elements, an the relationships between them. We see the elements, but what properties do they or their relationships have?
14 Externally Visible Properties The assumptions that other elements can make of an element, such as: its provided services, performance characteristics, fault handling, shared resource usage, etc.
15 Definition Implications 1 - architecture defines software elements. 2 - systems can and do comprise more than one structure, all are part of the architecture. 3 - every computing system with software has an architecture. 4 - the behavior of each element is part of the architecture as far as its behavior can be observed or discerned from the point of view of another element. 5 - the definition doesn t judge goodness or badness.
16 Another Definition for SA (Garlan and Shaw) Components Connectors Constraints
17 Useful Concepts Three stages that capture characteristics of an architecture, on the way from box-and-arrow to full software architectures: Architectural Patterns Reference Models Reference Architectures Figure 2.2 Reference Model Architectural Pattern Reference Architecture Software Architecture
18 Architectural Patterns A description of element & relation types together with a set of constraints on how they may be used. These constraints on an architecture define a set or family of architectures. For example, the client-server pattern has 2 element types (?); their relationship is a protocol that the server uses to communicate with each of its clients, the clients don t communicate directly. Functionality is excluded.
19 Value of Patterns They exhibit known quality attributes, and are a reuse of experience. Some patterns solve performance problems, others apply to high-security systems, or high-availability goals. Often the architect s first major design decision. Also referred to as architectural styles.
20 Reference Models A division of functionality together with data flow between the pieces. A standard decomposition of a known problem into parts that cooperatively solve the problem. They arise from experience, and are thus a characteristic of mature domains. For example, the standard parts of a compiler or database management system & how they work together.
21 Reference Architectures A reference model mapped onto software elements and the data flows between them. The elements must cooperatively implement the functionality defined in the reference model. The mapping may be 1-1, but an element may implement a part of a function or several functions.
22 Why is Architecture Important? Three fundamental reasons from a technical perspective: Communication among stakeholders a basis for mutual understanding, negotiation, & consensus Early design decisions earliest point at which decisions can be analyzed Transferable abstraction of a system can promote large-scale reuse
23 Early design decisions The architecture: defines constraints on implementation dictates organizational structure inhibits or enables a system s quality attributes studying it can predict system qualities easier to reason about and manage change helps in evolutionary prototyping enables more accurate cost & schedule estimates
24 Quality Attributes High performance Scalability Deliver incremental subsets Re-usable elements Manage the time-based behavior of elements; the frequency & volume of inter-element communication Carefully localize the use of resources to facilitate the introduction of high-capacity replacements Carefully manage intercomponent usage Restrict inter-element couplings so an extraction doesn t have too many environment attachments to be useful
25 Architecture: a Transferable, Reusable Model The earlier in the lifecycle re-use is applied, the greater the benefit. Software Product Lines share a common architecture. Composing with large, externally developed elements. Restrict the vocabulary of design alternatives: patterns. Architecture permits template-based development. Used as the basis for training.
26 Structures and Views A view is a representation of a coherent set of architectural elements, consisting of: a set of elements the relationships among them A structure is the set of elements itself, as they exist in software or hardware. Often used interchangeably, text will distinguish.
27 Groups of Architectural Structures Module structures units of implementation with assigned areas of functionality - usually static Component-and-connector structures runtime components (principal units of computation) and connectors (communication vehicles) Allocation structures show relationships between software elements & external environments (creation or execution)
28 Three Types of Structures Correspond to the three broad types of decisions that architectural design involves: How is the system to be structured as a set of code units (modules?) How is the system to be structured as a set of elements that have runtime behavior (components) and interactions (connectors)? How is the system to relate to non-software structures in its environment (i.e., CPUs, file systems, networks, development teams, etc. - allocation)?
29 General SA Structure
30 Choosing Structures Kruchten s Four + One Views: Logical - elements are key abstractions that are objects or classes in OO. This is a module view. Process - addresses concurrency & distribution of functionality. This is a C&C view. Development - shows organization of software modules, libraries, subsystems, and units of development. This is an allocation view. Physical - maps other elements onto processing & communication nodes, also an allocation view, but usually referred to specifically as the deployment view.
31
32 Non-functional Properties Each structure provides a method for reasoning about some of the relevant quality attributes, for example: the uses structure, must be engineered to build a system that can be easily extended or contracted the process structure is engineered to eliminate deadlock and reduce bottlenecks the module decomposition structure is engineered to produce modifiable systems, etc.
33 Value of Structures Each structure provides the architect with a different view into the system & a different leverage point for design. Table 2.1 on page should be useful in your class project...
34 Relating Structures to Each Other Although the structures give different system perspectives, they are not independent. Elements of one structure are related to elements in another, and we need to reason about these relationships. For example, a module in a decomposition structure may map to one, part of one, or several, components in a component-and-connector structure at runtime. In general, mappings are many-many.
35 Ch 3: A-7E Avionics System Architecture is focused on three structures: Decomposition into modules Uses how the modules relate Process components and connectors
36 Decomposition Information hiding: Also foundation to OO design, Except information hiding modules are derived by identifying expected changes over the system s lifecycle A module may have submodules
37 Specific goals Simple enough to understand fully Change one module without knowing or impacting others Most likely changes should be easiest Possible to make major changes as a set of independent changes to individual modules If the interfaces are not changed, any combination of old and new should run
38 A-7E Module Decomposition Structure Architects observed that, in similar systems, changes tend to come from three areas: Hardware Required externally visible behavior Decisions controlled by the developer
39 Uses Structure Runtime execution information the authoritative picture of how the software interacts Uses relation: Procedure A is said to use procedure B if a correctly functioning procedure B must be present in order for A to meet its requirements.
40 Uses Relation Allows rapid identification of functional subsets The uses (allowed-to-use) structure is documented in a table see Table 3.4 for an example
41 Process Structure Implemented as a set of cooperating sequential processes that synchronize with each other to cooperatively use shared resources Pre-runtime scheduling produced a single executable thread
42 Processes A set of programming steps that are repeated in response to a triggering event or to a timing constraint It has its own thread of control, and can suspend by waiting for an event
43 Processes Contains the synchronizes-with relation Based on events that one process signals and one or more processes await Used as the primary input to the scheduling activity, which includes deadlock avoidance Process structure has two types of information: What procedures are included in each process, identifying threads and re-entrant requirements Which processes cannot execute simultaneously
Ch 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 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 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 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 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 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 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 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 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 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 informationCurrent Best Practices in Software Architecture. Session 1: What Is Software Architecture? Why Is It Important?
Pittsburgh, PA 15213-3890 Current Best Practices in Software Architecture Session 1: What Is Software Architecture? Why Is It Important? Paul Clements Software Engineering Institute Carnegie Mellon University
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 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 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 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 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 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 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 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 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 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 Reuse and Component-Based Software Engineering
Software Reuse and Component-Based Software Engineering Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Contents Software Reuse Components CBSE (Component-Based Software Engineering) Domain Engineering
More informationMinsoo Ryu. College of Information and Communications Hanyang University.
Software Reuse and Component-Based Software Engineering Minsoo Ryu College of Information and Communications Hanyang University msryu@hanyang.ac.kr Software Reuse Contents Components CBSE (Component-Based
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 informationSOFTWARE ARCHITECTURE & DESIGN INTRODUCTION
SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION http://www.tutorialspoint.com/software_architecture_design/introduction.htm Copyright tutorialspoint.com The architecture of a system describes its major components,
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 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 informationThe Open Group SOA Ontology Technical Standard. Clive Hatton
The Open Group SOA Ontology Technical Standard Clive Hatton The Open Group Releases SOA Ontology Standard To Increase SOA Adoption and Success Rates Ontology Fosters Common Understanding of SOA Concepts
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 informationPROCESSES AND THREADS
PROCESSES AND THREADS A process is a heavyweight flow that can execute concurrently with other processes. A thread is a lightweight flow that can execute concurrently with other threads within the same
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 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 informationArchitectural Prescriptions for Dependable Systems
Architectural Prescriptions for Dependable Systems Manuel Brandozzi, Dewayne E. Perry UT ARISE, Advanced Research In Software Engineering. The University of Texas at Austin, Austin TX 78712-1084 {MBrandozzi,
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 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 informationComponent-Based Software Engineering TIP
Component-Based Software Engineering TIP X LIU, School of Computing, Napier University This chapter will present a complete picture of how to develop software systems with components and system integration.
More informationCS SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS
DEPARTMENT OF COMPUTER SCIENCE AND ENGINEERING CS 6403 - SOFTWARE ENGINEERING QUESTION BANK SIXTEEN MARKS 1. Explain iterative waterfall and spiral model for software life cycle and various activities
More informationPresenter: Dong hyun Park
Presenter: 200412325 Dong hyun Park Design as a life cycle activity bonds the requirements to construction Process of breaking down the system into components, defining interfaces and defining components
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 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 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 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 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 informationEuropean Component Oriented Architecture (ECOA ) Collaboration Programme: Architecture Specification Part 2: Definitions
European Component Oriented Architecture (ECOA ) Collaboration Programme: Part 2: Definitions BAE Ref No: IAWG-ECOA-TR-012 Dassault Ref No: DGT 144487-D Issue: 4 Prepared by BAE Systems (Operations) Limited
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 informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationISO/IEC/ IEEE INTERNATIONAL STANDARD. Systems and software engineering Architecture description
INTERNATIONAL STANDARD ISO/IEC/ IEEE 42010 First edition 2011-12-01 Systems and software engineering Architecture description Ingénierie des systèmes et des logiciels Description de l'architecture Reference
More informationCS 575: Software Design
CS 575: Software Design Introduction 1 Software Design A software design is a precise description of a system, using a variety of different perspectives Structural Behavioral Packaging Requirements, Test/Validation
More informationSoftware Design Patterns. Background 1. Background 2. Jonathan I. Maletic, Ph.D.
Software Design Patterns Jonathan I. Maletic, Ph.D. Department of Computer Science Kent State University J. Maletic 1 Background 1 Search for recurring successful designs emergent designs from practice
More informationiserver Free Archimate ArchiMate 1.0 Template Stencil: Getting from Started Orbus Guide Software Thanks for Downloading the Free ArchiMate Template! Orbus Software have created a set of Visio ArchiMate
More information1: Software Development and.net. An approach to building software
1: Software Development and.net An approach to building software Overview Programming in software development Life-Cycles for software development Object-orientation and modelling Requirements analysis
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 informationCSCI 3130 Software Architectures 1/3. February 5, 2013
CSCI 3130 Software Architectures 1/3 February 5, 2013 Software Architecture What is a Software Architecture? The description of the structure of a software system, which is composed of software elements,
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 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 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 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 informationFor 100% Result Oriented IGNOU Coaching and Project Training Call CPD TM : ,
Course Code : MCS-032 Course Title : Object Oriented Analysis and Design Assignment Number : MCA (3)/032/Assign/2014-15 Assignment Marks : 100 Weightage : 25% Last Dates for Submission : 15th October,
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 informationOG The Open Group OG TOGAF 9 Combined Part 1 and Part 2
The Open Group OG0-093 TOGAF 9 Combined Part 1 and Part 2 1 Set1, Part 1 QUESTION: 1 Which of the following TOGAF components was created to enable architects to design architectures addressing Boundaryless
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 informationElement: Relations: Topology: no constraints.
The Module Viewtype The Module Viewtype Element: Elements, Relations and Properties for the Module Viewtype Simple Styles Call-and-Return Systems Decomposition Style Uses Style Generalization Style Object-Oriented
More informationArchitecture and Design Evolution
Architecture and Design Evolution Pradyumn Sharma pradyumn.sharma@pragatisoftware.com www.twitter.com/pradyumnsharma 1 What is Software Architecture? Structure of a system, comprising software elements,
More informationOverview of the course. User-Centred Design. Group. Practical issue. Writting the report. Project work. Fang Chen
Overview of the course User-Centred Design Fang Chen 6 lectures, 3 hr each. L 1: April 6, 9-12, user-centered design concept L2: April 14, 9-12, usability concept L3. user-centered requirement study L4.
More informationVANCOUVER Chapter Study Group. BABOK Chapter 9 Techniques
VANCOUVER Chapter Study Group BABOK Chapter 9 Techniques May 27, 2015 David Ghotbi, CBAP Agenda Chapter 8 Review Pop Quiz Break Chapter 9 Review Pop Quiz Q & A 2 Chapter 9 Techniques Techniques: Alter
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 informationThe Analysis and Design of the Object-oriented System Li Xin 1, a
International Conference on Materials Engineering and Information Technology Applications (MEITA 2015) The Analysis and Design of the Object-oriented System Li Xin 1, a 1 Shijiazhuang Vocational Technology
More informationDesign of Embedded Systems
Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1
More informationSoftware Service Engineering
Software Service Engineering Lecture 4: Unified Modeling Language Doctor Guangyu Gao Some contents and notes selected from Fowler, M. UML Distilled, 3rd edition. Addison-Wesley Unified Modeling Language
More informationLearning objectives. Documenting Analysis and Test. Why Produce Quality Documentation? Major categories of documents
Learning objectives Documenting Analysis and Test Understand the purposes and importance of documentation Identify some key quality documents and their relations Understand the structure and content of
More information10조 이호진 이지 호
10 조 200910045 이호진 200911415 이지호 According to the IEEE definition, design is.. The process of defining the architecture, components, interfaces, and other characteristics of a system or component 1.
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 informationAn Information Model for High-Integrity Real Time Systems
An Information Model for High-Integrity Real Time Systems Alek Radjenovic, Richard Paige, Philippa Conmy, Malcolm Wallace, and John McDermid High-Integrity Systems Group, Department of Computer Science,
More informationQuality Attribute Design Primitives and the Attribute Driven Design Method 1
Quality Attribute Design Primitives and the Attribute Driven Design Method 1 Len Bass, Mark Klein, and Felix Bachmann Software Engineering Institute Carnegie Mellon University Pittsburgh, Pa 15213 USA
More informationOperating Systems Overview. Chapter 2
1 Operating Systems Overview 2 Chapter 2 3 An operating System: The interface between hardware and the user From the user s perspective: OS is a program that controls the execution of application programs
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 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 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 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 informationObject Model. Object Orientated Analysis and Design. Benjamin Kenwright
Object Model Object Orientated Analysis and Design Benjamin Kenwright Outline Submissions/Quizzes Review Object Orientated Programming Concepts (e.g., encapsulation, data abstraction,..) What do we mean
More informationCS510 Advanced Topics in Concurrency. Jonathan Walpole
CS510 Advanced Topics in Concurrency Jonathan Walpole Threads Cannot Be Implemented as a Library Reasoning About Programs What are the valid outcomes for this program? Is it valid for both r1 and r2 to
More informationAOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz
AOSA - Betriebssystemkomponenten und der Aspektmoderatoransatz Results obtained by researchers in the aspect-oriented programming are promoting the aim to export these ideas to whole software development
More informationFor a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were
CHAPTER-2 HARDWARE DESCRIPTION LANGUAGES 2.1 Overview of HDLs : For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were sequential
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 information6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views
1 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES Outline for Today 2 Architecture views C&C Views 1 Components and Connectors (C&C) Styles 3 Elements Relations Properties
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 information1 PROCESSES PROCESS CONCEPT The Process Process State Process Control Block 5
Process Management A process can be thought of as a program in execution. A process will need certain resources such as CPU time, memory, files, and I/O devices to accomplish its task. These resources
More informationUnit 1 Introduction to Software Engineering
Unit 1 Introduction to Software Engineering João M. Fernandes Universidade do Minho Portugal Contents 1. Software Engineering 2. Software Requirements 3. Software Design 2/50 Software Engineering Engineering
More informationCSE 333 Lecture 1 - Systems programming
CSE 333 Lecture 1 - Systems programming Hal Perkins Department of Computer Science & Engineering University of Washington Welcome! Today s goals: - introductions - big picture - course syllabus - setting
More informationWhat s Next. INF 117 Project in Software Engineering. Lecture Notes -Spring Quarter, Michele Rousseau Set 6 System Architecture, UML
What s Next INF 117 Project in Software Engineering Lecture Notes -Spring Quarter, 2008 Michele Rousseau Set 6 System Architecture, UML Set 6 2 Announcements kreqs should be complete Except minor changes
More informationCASE TOOLS LAB VIVA QUESTION
1. Define Object Oriented Analysis? VIVA QUESTION Object Oriented Analysis (OOA) is a method of analysis that examines requirements from the perspective of the classes and objects found in the vocabulary
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 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 informationSoftware Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model
Software Architecture Definition of Software Architecture Software architecture is process of designing g the global organization of a software system, including: Dividing software into subsystems. Deciding
More informationThe Strategy Pattern Design Principle: Design Principle: Design Principle:
Strategy Pattern The Strategy Pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. Design
More informationUNIT-I Introduction of Object Oriented Modeling
UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,
More informationImplementation Architecture
Implementation Architecture Software Architecture VO/KU (707023/707024) Roman Kern ISDS, TU Graz 2017-11-15 Roman Kern (ISDS, TU Graz) Implementation Architecture 2017-11-15 1 / 54 Outline 1 Definition
More informationConventional Computer Architecture. Abstraction
Conventional Computer Architecture Conventional = Sequential or Single Processor Single Processor Abstraction Conventional computer architecture has two aspects: 1 The definition of critical abstraction
More informationGSAW Software Architectures: What are we Building? March 1999
GSAW 1999 Software Architectures: What are we Building? March 1999 Roger J. Dziegiel, Jr AFRL/IFTD 525 Brooks Rd Rome, NY 13441-4505 (315)330-2185 dziegielr@rl.af.mil Arch1 Architecture & Generation Parameterized
More informationICS 52: Introduction to Software Engineering
ICS 52: Introduction to Software Engineering Fall Quarter 2004 Professor Richard N. Taylor Lecture Notes Week 3: Architectures http://www.ics.uci.edu/~taylor/ics_52_fq04/syllabus.html Copyright 2004, Richard
More information