Lecture 16: (Architecture IV)

Size: px
Start display at page:

Download "Lecture 16: (Architecture IV)"

Transcription

1 Lecture 16: (Architecture IV) Software System Design and Implementation ITCS/ITIS 6112/ Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 28,

2 Announcements D3 Original deadline: Nov. 11 Extended deadline: Nov. 18 Updated template will be provided tomorrow Team/instructor meetings Define emphasis on prototype vs. documentation for final deliverable 2

3 Software Architecture Definition Architecture defines major components component relationships (structures) component interactions Architecture encompasses the significant decisions about the organization of a system Architecture defines the rationale behind the components and the structure 3

4 More Architectural Design Decisions How will the architectural design be evaluated? How should the architecture be documented? 4

5 Quality Attributes Performance Availability Usability Security End User s view Time To Market Cost and Benefits Projected life time Targeted Market Integration with Legacy System Roll back Schedule Business Community view Maintainability Portability Reusability Developer s view Testability 5

6 Architecture and Quality Attributes Performance Localize critical operations and minimize communications Use large rather than fine-grain components Security Use a layered architecture with critical assets in the inner layers Safety Localize safety-critical features in a small number of sub-systems Availability Include redundant components and mechanisms for fault tolerance Maintainability Use fine-grain, replaceable components 6

7 Architectural Conflicts Large-grain components improves performance reduces maintainability Redundant data improves availability makes security more difficult. Localizing safety-related features simplifies security more communication so degraded performance. 7

8 Evaluating Architectural Design Two example approaches: Architectural Complexity Evaluation A general approach Architecture Tradeoff Analysis Method (ATAM) 8

9 Architectural Complexity Evaluation Consider dependencies between components Want architectural with minimal dependencies Types of dependencies Coupling-related dependencies Sharing dependencies Use the same resource Produce for same consumers Flow dependencies Relationships between consumers and producers of resources Component A must complete before control goes to B Component A communicates with B using parameters Constrained dependencies Constraints on relative flow of control among activities Component A and B cannot execute at the same time 9

10 Architecture Tradeoff Analysis Method (ATAM) A comprehensive approach to evaluating a software architecture Focuses on evaluating how well architecture satisfies quality goals Recognizes that architectural decisions often impact more than one quality attribute 10

11 ATAM Outputs Concise presentation of architecture Quality requirements captured in collection of scenarios Mapping of architectural decisions to quality requirements Set of identified sensitivity and tradeoff points Set of risks and non-risks Related to architecture Set of risk themes 11

12 Using ATAM A simplified version: 1. Collect scenarios and use cases Quality scenarios and change scenarios 2. Elicit requirements, constraints, environment description 3. Describe candidate architectures Describe architectural approaches (styles, etc.) 4. Evaluate quality attributes Consider each in isolation Identify sensitivity to various architectural attributes 5. Critique candidate architectures using sensitivity analysis Determine acceptable trade-offs 12

13 ATAM: Utility Tree A top-down vehicle for characterizing the driving quality attribute-specific requirements Used in ATAM to identify, prioritize, and refine the most important quality attribute goals Creating a utility tree Utility is always root node Expression of overall goodness of system Measured by composition of quality attributes Second tier nodes are quality attributes Select the most important quality goals Typically performance, modifiability, security, and availability These can be further refined Quality scenarios are the leaves of the utility tree 13

14 Example Utility Tree 14

15 ATAM: Quality Attribute Scenarios Scenarios are used to Represent stakeholders interests Understand quality attribute requirements Scenarios are captured as leaves of a utility tree Scenarios should cover a range of Anticipated uses of (use case scenarios), Anticipated changes to (growth scenarios), or Unanticipated stresses (exploratory scenarios) to the system. A good scenario makes clear what the stimulus is that causes it and what responses are of interest 15

16 ATAM: Scenario Examples Use case scenario Remote user requests a database report via the Web during peak period and receives it within 5 seconds Growth scenario Add a new data server to reduce latency in scenario 1 to 2.5 seconds within 1 person-week Exploratory scenario Half of the servers go down during normal operation without affecting overall system availability. 16

17 ATAM: Analyzing Candidate Architecture Architecture is evaluated in terms of quality attributes using utility tree Approaches are identified that pertain to the highest priority quality attribute requirements Identify and evaluate: Sensitivity points and tradeoffs Risks and non-risks 17

18 ATAM: Sensitivity & Tradeoffs Sensitivity A property of a component that is critical to success of system Examples: Performance sensitivity The number of simultaneous database clients will affect the number of transaction a database can process per second. Security sensitivity Number of bits of the encryption key Tradeoff point A property that affects more than one attribute or sensitivity point Examples Performance vs. Portability Use of assembly language Performance vs. Reliability Use of back-up database 18

19 Addressing Quality Attributes in Architecture Design So, now we know how to evaluate quality attributes How can we design for them in the first place? Use Attribute Driven Design (ADD) method Styles, patterns, and tactics! Tactics are strategies to address particular types of quality attributes Example To promote availability, embrace redundancy We ll discuss several tactics in an upcoming lecture 19

20 More Architectural Design Decisions How will the architectural design be evaluated? How should the architecture be documented? 20

21 Architectural Models Architecture is documented from many perspectives (views) Static structural model Shows the major system components Dynamic process model Shows the process structure of the system Interface model Defines component interfaces Relationships model Shows component relationships Distribution model Shows how components are physically distributed across computers 21

22 Notations for Architectural Specifications Type of Specification Static Structural Model Dynamic Process Model Interfaces model Relationship model Distribution model Useful Notations Box-and-line diagrams, class diagrams, package diagrams, component diagrams, deployment diagrams State diagrams, sequence diagram, collaboration diagrams, activity diagrams, box-and-line diagrams, use case models Text, class diagrams Box-and-line diagrams, component diagrams, class diagrams, text Deployment diagrams 22

23 Package Diagrams A UML package diagram represents containment relationships for related modules Useful for primary containment symbol is package symbols Static models of modules, their parts, and their relationships 23

24 Package Diagram Example 24

25 UML Dependency Relations A dependency relation holds between two entities D and II when a change in in I I (the independent entity) may affect D (the dependent entity). Examples: D uses I, D depends for compilation on I, D imports I Represented by dependency arrows: stereotyped dashed arrows 25

26 Dependency Relation Example 26

27 Software Components A software component is a reusable, replaceable piece of software Component-based development Products are designed and built using commercially available or custom-built software components 27

28 UML Component Diagrams A UML component is a modular, replaceable unit with well-defined interfaces. Component symbols are rectangles containing names Stereotyped «component» or have component symbol in upper right-hand corner UML component diagram Shows components their relationships to their environment and their internal structure 28

29 UML Interfaces A UML interface is a named collection of public attributes and abstract operations Represented by a stereotyped class symbol (later) Represented by special ball and socket symbols Note: this use of the term interface is different from out previous use as a communications boundary More like interface = class without implementation 29

30 Provided and Required Interfaces A class or component realizes an interface when it includes its attributes and implements its operations Provided interface Realized by a class or component Represented by a ball or lollipop symbol Required interface Needed by a class or component Represented by a socket symbol The assembly connector wires interfaces together 30

31 Interface Symbols Example 31

32 Component Internal Structure Components can contain other components or classes showing how they are built A delegation connector ties a component interface to one or more internal classes or components that realize or use the interface Solid arrows Stereotyped with «delegate» 32

33 Component Internals Example 33

34 Component Diagram Uses Static models of software components (reusable and replaceable parts) Model program components Architectural models Detailed design models Relationship to environment Model internal structure of components 34

35 Deployment Diagrams A UML deployment diagram models computational resources, communication paths among them, and artifacts that reside and execute on them. Used to show Real and virtual machines used in a system Communication paths between machines Program and data files realizing the system Residence Execution 35

36 UML Nodes A UML node is a computational resource. Device physical processing unit, such as a computer Execution environment software system that implements a virtual machine, such as an operating system or language interpreter Represented in UML by box or slab symbols Stereotyped with «device» or «execution environment» Types and instances Types have names Instance have underlined labels of the form name : type Name or type may be suppressed, but not both 36

37 Node Symbols Example 37

38 Deployment Diagram Rules Computational resources are nodes Communication paths are solid lines between nodes May be labeled May have multiplicities and role names Artifact symbols may Appear within node symbols Be listed within node symbols Be connected to node symbols by dependency arrows stereotyped with «deploy» 38

39 Deployment Diagram Example «device» ServerPC «artifact» GameServer 1 * «device» ClientPC TCP/IP RMI «deploy» «device» GameDataServer «DB» GameData Rules BoardImage TokenImage «artifact» GameClient 39

Lecture 17: (Architecture V)

Lecture 17: (Architecture V) Lecture 17: (Architecture V) 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. 30,

More information

CHAPTER 5 ARCHITECTURAL DESIGN SE211 SOFTWARE DESIGN

CHAPTER 5 ARCHITECTURAL DESIGN SE211 SOFTWARE DESIGN CHAPTER 5 ARCHITECTURAL DESIGN SE211 SOFTWARE DESIGN Assist. Prof. Dr. Volkan TUNALI Faculty of Engineering and Natural Sciences / Maltepe University OVERVIEW 2 SECTION 1 Architectural Design SECTION 2

More information

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Lecture 17 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

More information

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches

Introduction to Software Engineering. ECSE-321 Unit 9 Architectural Design Approaches Introduction to Software Engineering ECSE-321 Unit 9 Architectural Design Approaches Requirement Elicitation Analysis (Software Product Design) Architectural Design Detailed Design Architectural Design

More information

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures

Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Lecture 19 Engineering Design Resolution: Generating and Evaluating Architectures Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at

More information

Lecture 13 Introduction to Software Architecture

Lecture 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 information

Software Architecture

Software 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 information

Creating and Analyzing Software Architecture

Creating 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 information

UNIT 5 - UML STATE DIAGRAMS AND MODELING

UNIT 5 - UML STATE DIAGRAMS AND MODELING UNIT 5 - UML STATE DIAGRAMS AND MODELING UML state diagrams and modeling - Operation contracts- Mapping design to code UML deployment and component diagrams UML state diagrams: State diagrams are used

More information

Lecture 9 Requirements Engineering II

Lecture 9 Requirements Engineering II Lecture 9 Requirements Engineering II Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 23, 2008 Announcements

More information

Lecture 6: Requirements Engineering

Lecture 6: Requirements Engineering Lecture 6: Requirements Engineering Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing 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 information

Attribute-Driven Design

Attribute-Driven Design Attribute-Driven Design Minsoo Ryu Hanyang University msryu@hanyang.ac.kr Attribute-Driven Design The ADD method is an approach to defining a software architecture in which the design process is based

More information

Lecture 8 Requirements Engineering

Lecture 8 Requirements Engineering Lecture 8 Requirements Engineering Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte September 18, 2008 Lecture Overview

More information

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M)

CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) CHAPTER 5 CO:-Sketch component diagram using basic notations 5.1 Component Diagram (4M) Sample Component Diagram 5.2 Deployment Diagram (8M) Sample Deployment diagram Component diagrams are different in

More information

10.1 Big Objects, Business Objects, and UML Components

10.1 Big Objects, Business Objects, and UML Components II Black-Box Composition Systems 10. Finding Business s in a -Based Development Process Literature J. Cheesman, J. Daniels. UML s. Addison-Wesley. 1. The UML component model 2. Business component model

More information

ADD 3.0: Rethinking Drivers and Decisions in the Design Process

ADD 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 information

5/9/2014. Recall the design process. Lecture 1. Establishing the overall structureof a software system. Topics covered

5/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 information

Software Architecture Thoughts for the System Security Design

Software 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

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems

Component Design. Systems Engineering BSc Course. Budapest University of Technology and Economics Department of Measurement and Information Systems Component Design Systems Engineering BSc Course Budapest University of Technology and Economics Department of Measurement and Information Systems Traceability Platform-based systems design Verification

More information

Lecture 8: Use Case -Driven Design. Where UML fits in

Lecture 8: Use Case -Driven Design. Where UML fits in Lecture 8: Use Case -Driven Design The Role of UML in the Software Process E.g. ICONIX Domain Models Use Cases 2008 Steve Easterbrook. This presentation is available free for non-commercial use with attribution

More information

10조 이호진 이지 호

10조 이호진 이지 호 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 information

SOFTWARE ARCHITECTURES UNIT I INTRODUCTION AND ARCHITECTURAL DRIVERS

SOFTWARE 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 information

Model-based Transition from Requirements to High-level Software Design

Model-based Transition from Requirements to High-level Software Design Model-based Transition from Requirements to High-level Software Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria System overview

More information

SE 2730 Final Review

SE 2730 Final Review SE 2730 Final Review 1. Introduction 1) What is software: programs, associated documentations and data 2) Three types of software products: generic, custom, semi-custom Why is semi-custom product more

More information

Products of Requirements elicitation and analysis. Chapter 6: System design: decomposing the system

Products of Requirements elicitation and analysis. Chapter 6: System design: decomposing the system Products of Requirements elicitation and analysis Chapter 6: System design: decomposing the system Requirements! elicitation! Requirements! Specification! nonfunctional! requirements! functional! model!

More information

SOFTWARE ARCHITECTURE & DESIGN INTRODUCTION

SOFTWARE 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 information

Architectural Design. Topics covered. Architectural Design. Software architecture. Recall the design process

Architectural 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 information

Requirements Analysis. SE 555 Software Requirements & Specification

Requirements Analysis. SE 555 Software Requirements & Specification Requirements Analysis Goals of Requirements Analysis Create requirements containing sufficient detail and of high enough quality to allow realistic project planning as well as successful design and implementation.

More information

Presenter: Dong hyun Park

Presenter: 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

BDSA08 Advanced Architecture

BDSA08 Advanced Architecture UI Swing not the Java Swing libraries, but our GUI classes based on Swing Web Domain Sales Payments Taxes Technical Services Persistence Logging RulesEngine BDSA08 Advanced Architecture Jakob E. Bardram

More information

index_ qxd 7/18/02 11:48 AM Page 259 Index

index_ qxd 7/18/02 11:48 AM Page 259 Index index_259-265.qxd 7/18/02 11:48 AM Page 259 Index acceptance testing, 222 activity definition, 249 key concept in RUP, 40 Actor artifact analysis and iterative development, 98 described, 97 136 in the

More information

Objectives. Architectural Design. Software architecture. Topics covered. Architectural design. Advantages of explicit architecture

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 information

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process

Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process Part II Black-Box Composition Systems 10. Business Components in a Component-Based Development Process 1. Business component model of the Cheesman/ Daniels process 2. Identifying business components Prof.

More information

Requirements to models: goals and methods

Requirements 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 information

COSC 3351 Software Design. An Introduction to UML (I)

COSC 3351 Software Design. An Introduction to UML (I) COSC 3351 Software Design An Introduction to UML (I) This lecture contains material from: http://wps.prenhall.com/esm_pfleeger_softengtp_2 http://sunset.usc.edu/classes/cs577a_2000/lectures/05/ec-05.ppt

More information

CS 307: Software Engineering. Lecture 10: Software Design and Architecture

CS 307: Software Engineering. Lecture 10: Software Design and Architecture CS 307: Software Engineering Lecture 10: Software Design and Architecture Prof. Jeff Turkstra 2017 Dr. Jeffrey A. Turkstra 1 Announcements Discuss your product backlog in person or via email by Today Office

More information

Lecture 13: Analysis Modeling

Lecture 13: Analysis Modeling Lecture 13: Analysis Modeling Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Oct. 16, 2008 Announcements Midterms graded

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-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 information

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester

Lab Manual. Object Oriented Analysis And Design. TE(Computer) VI semester Lab Manual Object Oriented Analysis And Design TE(Computer) VI semester Index Sr. No. Title of Programming Assignment Page No. 1 2 3 4 5 6 7 8 9 10 Study of Use Case Diagram Study of Activity Diagram Study

More information

Structured and Object Oriented Analysis and Design

Structured and Object Oriented Analysis and Design RAMRAO ADIK INSTITUTE OF TECHNOLOGY, NERUL Department of Computer Engineering Lab Manual Structured and Object Oriented Analysis and Design 2015-2016 List of Experiments Subject: Structured and object

More information

Credit where Credit is Due. Goals for this Lecture. Introduction to Design

Credit where Credit is Due. Goals for this Lecture. Introduction to Design Credit where Credit is Due Lecture 17: Intro. to Design (Part 1) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2002 Some material presented in this lecture is taken

More information

Architectural Design

Architectural 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 information

Architectural Blueprint

Architectural 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 information

WHAT IS SOFTWARE ARCHITECTURE?

WHAT 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 information

Architectural Design

Architectural 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 information

The ATCP Modeling Framework

The 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 information

Introduction to UML Dr. Rajivkumar S. Mente

Introduction to UML Dr. Rajivkumar S. Mente Introduction to UML Dr. Rajivkumar S. Mente Assistant Professor, Department of Computer Science, Solapur University, Solapur rajivmente@rediffmail.com Introduction to UML UML is a language used for 1.

More information

Architectural Design

Architectural 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 information

S1 Informatic Engineering

S1 Informatic Engineering S1 Informatic Engineering Advanced Software Engineering Web App. Process and Architecture By: Egia Rosi Subhiyakto, M.Kom, M.CS Informatic Engineering Department egia@dsn.dinus.ac.id +6285640392988 SYLLABUS

More information

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it

Mei Nagappan. How the programmer wrote it. How the project leader understood it. How the customer explained it. How the project leader understood it Material and some slide content from: - Software Architecture: Foundations, Theory, and Practice - Elisa Baniassad - Reid Holmes How the customer explained it How the project leader understood it How the

More information

Introduction to software architecture Revision : 732

Introduction 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 information

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE

REQUIREMENTS ENGINEERING LECTURE 2017/2018. Dr. Jörg Dörr. Conceptual Modelling. Fraunhofer IESE REQUIREMENTS ENGINEERING LECTURE 2017/2018 Dr. Jörg Dörr Conceptual Modelling AGENDA Analysis & Specification with Conceptual Models 2 Requirements Specification ANALYSIS & SPECIFICATION WITH CONCEPTUAL

More information

Lecture 21: Design Patterns III

Lecture 21: Design Patterns III Lecture 21: Design Patterns III Software System Design and Implementation ITCS/ITIS 6112/8112 001 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte Nov.

More information

What 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, 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 information

Business Requirements Document (BRD) Template

Business Requirements Document (BRD) Template Business Requirements Document (BRD) Template Following is a template for a business requirements document (BRD). The document includes many best practices in use today. Don t be limited by the template,

More information

Unified Modeling Language (UML) and Modeling

Unified Modeling Language (UML) and Modeling LECTURE-11 Unified Modeling Language (UML) and Modeling UML is a graphical notation useful for OO analysis and design Allows representing various aspects of the system Various notations are used to build

More information

What is Software Architecture? What is Principal?

What 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 information

Lectures 24 and 25 Introduction to Architectural Styles and Design Patterns

Lectures 24 and 25 Introduction to Architectural Styles and Design Patterns Lectures 24 and 25 Introduction to Architectural Styles and Design Patterns Software Engineering ITCS 3155 Fall 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte

More information

Architectural Design

Architectural 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 information

History of object-oriented approaches

History of object-oriented approaches Prof. Dr. Nizamettin AYDIN naydin@yildiz.edu.tr http://www.yildiz.edu.tr/~naydin Object-Oriented Oriented Systems Analysis and Design with the UML Objectives: Understand the basic characteristics of object-oriented

More information

Describing 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? 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 information

UML 2.0 Profile for ArchWare ADL: Coping with UML 2.0

UML 2.0 Profile for ArchWare ADL: Coping with UML 2.0 ArchWare Architecting Evolvable Software www.architecture-ware.org European RTD Project IST-2001-32360 UML 2.0 Profile for ArchWare ADL: Coping with UML 2.0 (Project Deliverable D1.8) Author: Editor: Flavio

More information

Architecture. Readings and References. Software Architecture. View. References. CSE 403, Spring 2003 Software Engineering

Architecture. 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 information

Unit Wise Questions. Unit-1 Concepts

Unit 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 information

Foundations of Software Engineering

Foundations 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 information

Introduction to Modeling

Introduction to Modeling Introduction to Modeling Software Architecture Lecture 9 Copyright Richard N. Taylor, Nenad Medvidovic, and Eric M. Dashofy. All rights reserved. Objectives Concepts What is modeling? How do we choose

More information

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer

Oral Questions. Unit-1 Concepts. Oral Question/Assignment/Gate Question with Answer Unit-1 Concepts Oral Question/Assignment/Gate Question with Answer The Meta-Object Facility (MOF) is an Object Management Group (OMG) standard for model-driven engineering Object Management Group (OMG)

More information

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A

SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A SRI VENKATESWARA COLLEGE OF ENGINERRING AND TECHNOLOGY THIRUPACHUR,THIRUVALLUR UNIT I OOAD PART A 1. What is an object? An object is a combination of data and logic; the representation of some realworld

More information

An Architect s Point of View. TSP Symposium Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213

An Architect s Point of View. TSP Symposium Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 An Architect s Point of View on TSP TSP Symposium 2011 Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 Felix Bachmann 09/2011 An Architect s Point of View on TSP 2 The Good

More information

Software Architectures. Lecture 6 (part 1)

Software 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 information

Architecture. CSE 403, Winter 2003 Software Engineering.

Architecture. 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 information

Chapter 4 Objectives

Chapter 4 Objectives Chapter 4 Objectives Eliciting requirements from the customers Modeling requirements Reviewing requirements to ensure their quality Documenting requirements for use by the design and test teams 4.1 The

More information

UML for Real-Time Overview

UML for Real-Time Overview Abstract UML for Real-Time Overview Andrew Lyons April 1998 This paper explains how the Unified Modeling Language (UML), and powerful modeling constructs originally developed for the modeling of complex

More information

Requirements Specifications & Standards

Requirements Specifications & Standards REQUIREMENTS ENGINEERING LECTURE 2014/2015 Dr. Jörg Dörr Requirements Specifications & Standards AGENDA Standards & Templates Natural Language Requirements Specification with Conceptual Models Suitable

More information

Ali Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir.

Ali Khan < Project Name > Design Document. Version 1.0. Group Id: S1. Supervisor Name: Sir. < Project Name > Design Document Version 1.0 Group Id: S1. Supervisor Name: Sir. Revision History Date Version Description Author Table of Contents 1. Introduction of Design Document 2. Entity Relationship

More information

Unit 1 Introduction to Software Engineering

Unit 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 information

6/20/2018 CS5386 SOFTWARE DESIGN & ARCHITECTURE LECTURE 5: ARCHITECTURAL VIEWS C&C STYLES. Outline for Today. Architecture views C&C Views

6/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 information

Object Oriented Programming

Object Oriented Programming Binnur Kurt kurt@ce.itu.edu.tr Istanbul Technical University Computer Engineering Department 1 Version 0.1.2 About the Lecturer BSc İTÜ, Computer Engineering Department, 1995 MSc İTÜ, Computer Engineering

More information

Traditional Classification of Requirements

Traditional Classification of Requirements Quality Attributes Traditional Classification of Requirements Functional Non-Functional (Quality Attributes) A popular software myth: first we build a software that satisfies functional requirements, then

More information

Designing Software Architecture to Achieve Business Goals

Designing Software Architecture to Achieve Business Goals Designing Software Architecture to Achieve Business Goals Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 2009 Carnegie Mellon University Sponsored by the U.S. Department

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

Introduction to Software Engineering. 5. Modeling Objects and Classes Introduction to Software Engineering 5. Modeling Objects and Classes Roadmap > UML Overview > Classes, attributes and operations > UML Lines and Arrows > Parameterized Classes, Interfaces and Utilities

More information

Requirements Elicitation

Requirements Elicitation Requirements Elicitation Introduction into Software Engineering Lecture 4 25. April 2007 Bernd Bruegge Applied Software Engineering Technische Universitaet Muenchen 1 Outline Motivation: Software Lifecycle

More information

Lecture 2 Software Engineering and Design

Lecture 2 Software Engineering and Design Lecture 2 Software Engineering and Design Software Engineering ITCS 3155 Spring 2008 Dr. Jamie Payton Department of Computer Science University of North Carolina at Charlotte August 28, 2008 Lecture Overview

More information

Design and Information Hiding

Design and Information Hiding Design and Information Hiding 15-214: Foundations of Software Engineering Jonathan Aldrich Related Reading: D. L. Parnas. On the Criteria To Be Used in Decomposing Systems into Modules. CACM 15(12):1053-1058,

More information

Software Design COSC 4353/6353 DR. RAJ SINGH

Software Design COSC 4353/6353 DR. RAJ SINGH Software Design COSC 4353/6353 DR. RAJ SINGH Outline What is SOA? Why SOA? SOA and Java Different layers of SOA REST Microservices What is SOA? SOA is an architectural style of building software applications

More information

What is Software Architecture

What 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 information

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology

ArchiMate 2.0. Structural Concepts Behavioral Concepts Informational Concepts. Business. Application. Technology ArchiMate Core Structural Concepts Behavioral Concepts Informational Concepts interaction Technology Application Layer Concept Description Notation Concept Description Notation Actor An organizational

More information

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005

Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson January 20, 2005 Lecture 4: Design Concepts For Responsibility- Driven Design Kenneth M. Anderson 1 of 25 Introduction Chapter 1 of Object Design covers topics that aid understanding of Responsibility-Driven Design Object

More information

Software Architecture. Definition of Software Architecture. The importance of software architecture. Contents of a good architectural model

Software 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 information

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects. Class Diagrams UML Class Diagram Classes consist of the class name written in BOLD features attributes and methods user-defined constraints Note that class diagrams contain only classes, not objects. Class

More information

Test and Measurements System Modeling: Addressing the Root of the Problem

Test and Measurements System Modeling: Addressing the Root of the Problem Test and Measurements System Modeling: Addressing the Root of the Problem Filipe Altoe, PMP Principal at TSXperts (www.tsxperts.com) Introduction The Universal Markup Language, UML, is a general purpose

More information

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created>

Software Requirements Specification. <Project> for. Version 1.0 approved. Prepared by <author> <organization> <date created> Software Requirements Specification for Version 1.0 approved Prepared by Copyright 2002 by Karl E. Wiegers. Permission is granted to use, modify, and distribute

More information

The Process of Software Architecting

The 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 information

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach?

UNIT I. 3. Write a short notes on process view of 4+1 architecture. 4. Why is object-oriented approach superior to procedural approach? Department: Information Technology Questions Bank Class: B.E. (I.T) Prof. Bhujbal Dnyaneshwar K. Subject: Object Oriented Modeling & Design dnyanesh.bhujbal11@gmail.com ------------------------------------------------------------------------------------------------------------

More information

Software Architecture and Design I

Software 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 information

Software architecture Modelling

Software architecture Modelling Software architecture Modelling What is modelling? Architecture is the set of principal design decisions about a system. Model is an artifact that captures some of those design decisions. Modelling is

More information

Basic Properties of Styles

Basic Properties of Styles Component-Based Software Engineering ECE493-Topic 5 Winter 2007 Lecture 18 Enterprise Styles/Patterns (Part A) Ladan Tahvildari Assistant Professor Dept. of Elect. & Comp. Eng. University of Waterloo Basic

More information

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects.

Class Diagram. Classes consist of. Note that class diagrams contain only classes, not objects. Class Diagrams UML Class Diagram Classes consist of the class name written in BOLD features attributes and methods user defined constraints Note that class diagrams contain only classes, not objects. Class

More information

Chapter 6 Architectural Design. Chapter 6 Architectural design

Chapter 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 information