Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design.

Size: px
Start display at page:

Download "Refresher: Lifecycle models. Lecture 22: Moving into Design. Analysis vs. Design. Refresher: different worlds. Analysis vs. Design."

Transcription

1 Analysis vs. Design Why the distinction? Design Processes Logical vs. Physical Design System vs. Detailed Design Architectures System Architecture Software Architecture Architectural Patterns (next lecture) Useful Notation UML Packages Dependencies Lecture : Moving into Design Easterbrook version 1 perceived need Refresher: Lifecycle models architecture (high level ) version Evolutionary development (each version incorporates new ) code (low level ) Waterfall model unit O&M version 3 lessons learnt lessons learnt maintain O&M analyse preliminary detailed V model code debug component Easterbrook 004 Level of abstraction Spiral model Plan alternatives 4 constraints 4 Alternatives alternatives 3 constraints 3 altern atives constr aints Constraints unit acceptance integration risk analysis 4 risk analysis 3 integration time Evaluate alternatives risks budget 4 budget 3 budget budget prototype 1 prototype 1 prototype prototype 3 4, lifecycle plan development plan integration plan implementation plan risk analysis risk analysis 1 concept of operation validated validated, verified acceptance unit code detailed Develop Analysis Analysis vs. Design Asks what is the problem? what happens in the current? what is required in the new? Results in a detailed understing of: Requirements Domain Properties Focuses on the way human activities are conducted Design Investigates how to build a solution How will the new work? How can we solve the problem that the analysis identified? Results in a solution to the problem A working that satisfies the Hardware + Software + Peopleware Focuses on building technical solutions Separate activities, but not necessarily sequential Easterbrook Application Domain Refresher: different worlds Analysis is all about studying this world Design is all about building this world But who builds the bridge? Machine Domain Easterbrook

2 Four philosophies Decomposition & Synthesis : Managing complexity Reuse Design a car by ing separately the chassis, engine, drivetrain, etc. Use existing components where possible Negotiation Stakeholder Conflicts Dialogue Process Design a car by getting each stakeholder to suggest (partial) s, them compare discuss them Search Transformation Heuristic Evaluation Design a car by transforming an initial rough to get closer closer to what is desired Situated Design Errors in existing s Evolutionary Change Design a car by observing what s wrong with existing cars as they are used, identifying improvements Easterbrook Logical vs. Physical Design Logical Design Logical Design concerns: Choose Platform Physical Design Anything that is platform-independent: Interactions between objects Layouts of user interfaces Nature of comms/data passed between subs Logical s are usually portable to different platforms Physical Design concerns: Anything that depends on the choice of platform: Distribution of objects/services over networked nodes Choice of programming language development environment Use of specialized device drivers Choice of database server technology Services provided by middleware Easterbrook System Design vs. Detailed Design System Design Choose a System Architecture Networking infrastructure Major computing platforms Roles of each node (e.g. client-server; clients-broker-servers; peer-to-peer, ) Choose a Software Architecture (see next lecture for details) Identify the subs Identify the components connectors between them Design for modularity to maximize ability evolveability E.g. Aim for low coupling high Detailed Design Decide on the formats for data storage E.g. a data management layer Design the control functions for each component E.g. an application logic layer Design the user interfaces E.g. a presentation layer Easterbrook Choices: Global System Architecture Allocates users other external s to each node Identify appropriate network topology technologies Identify appropriate computing platform for each node See next slide Easterbrook 004 8

3 System Architecture Questions Key questions for choosing platforms: What hardware resources are needed? CPU, memory size, memory bwidth, I/O, disk space, etc. What /OS resources are needed? application availability, OS scalability What networking resources are needed? network bwidth, latency, remote access. What human resources are needed? OS expertise, hardware expertise, administration, user training/help desk. What other needs are there? security, reliability, disaster recovery, uptime. Key questions constraining the choice: What funding is available? What resources are already available? Existing hardware,, networking Existing staff their expertise Existing relationships with vendors, resellers, etc. 9 Easterbrook 004 Data Management Questions How is data entry performed? E.g. Import from other s Electronic Data Interchange (EDI), Data interchange languages, What kinds of data persistence is needed? An example: client-server Servers provide some kind of service; clients request use services applications are located with clients Is the operating s basic file management sufficient? Is object persistence important? Can we isolate persistence mechanisms from the applications? E.g. running on PCs workstations; data storage is treated as a server Is a Database Management System (DBMS) needed? E.g. using a DBMS such as DB, Ingres, Sybase or Oracle Consistency checking is located with the server Is data accessed at a fine level of detail Advantages: E.g. do users need a query language? Breaks the into manageable components Makes the control data persistence mechanisms clearer Is sophisticated indexing required? Is there a need to move complex data across multiple platforms? Variants: Will a data interchange language suffice? E.g. HTML, SGML, XML Thick clients have their own services, thin ones get everything from servers Note: This is a SOFTWARE architecture Is there a need to access the data from multiple platforms? Easterbrook 004 A architecture defines: the components of the how the components use each other s functionality data How control is managed between the components bar codes; Optical Character Recognition (OCR) Software Architecture E.g. Keyless Data entry 10 Easterbrook 004 Clients server could be on the same machine or different machines 11 Easterbrook

4 Coupling Given two units (e.g. methods, classes, modules, ), A B: Form Features Desirability Data Data coupling A & B communicate communicate by by High High (use (use parameter parameter passing passing & simple simple data data only only only only pass pass necessary necessary info) info) Stamp coupling A & B use use a common common Okay Okay (but (but should should they they be be type type of of data data grouped grouped in in a data data abstraction?) abstraction?) Control coupling A transfers transfers control control to to (activating) B by by procedure procedure call Necessary call Control coupling A passes passes a flag flag to to B to to Undesirable (why (why should should A (switching) tell tell it it how how to to behave behave interfere interfere like like this?) this?) A & B make make use use of of a Undesirable (if (if you you change Common change environment shared shared data data area area the the shared shared data, data, you you have have to coupling to (global (global variables) variables) change change both both A B) B) Content coupling A changes changes B s B s data, data, or or Extremely Foolish Foolish (almost passes (almost passes control control to to the the middle middle of of B impossible impossible to to debug!) debug!) Easterbrook Cohesion How well do the contents of an object (module, package, ) go together? Form Features Desirability Data Data all all part part of of a well well defined defined data data abstraction abstraction Very High Functional all all part part of of a single single problem problem solving solving task task High outputs outputs of of one one part part form form inputs inputs to Sequential to the the next next Okay Communicational operations operations that that use use the the same same input input or or output output data data Moderate Procedural a set set of of operations operations that that must must be be executed executed in in a particular particular order order Low Low Temporal elements elements must must be be active active around around the the same same time time (e.g. (e.g. at at startup) startup) Low Low Logical Logical elements elements perform perform logically logically similar similar operations operations (e.g. (e.g. printing printing things) things) No No way!! Coincidental elements elements have have no no conceptual conceptual link link other other than than repeated repeated code code No No way!! way!! Easterbrook UML Packages Package notation We need to represent our architectures UML elements can be grouped together in packages Elements of a package may be: other packages (representing subs or modules); classes; models (e.g. use case models, interaction diagrams, statechart diagrams, etc) Each element of a UML model is owned by a single package Packages need not correspond to elements of the analysis or the they are a convenient way of grouping other elements together Criteria for decomposing a into packages: Ownership who is responsible for working on which diagrams Application each problem has its own obvious partitions; Clusters of classes with strong e.g., course, course description, instructor, student, Or use an architectural pattern to help find a suitable decomposition Easterbrook alternatives for showing package containment: Easterbrook

5 Package Diagrams Dependency Cycles Persons Meetings Constraints dependency (read as depends on ) Dependencies: Similar to compilation dependencies Captures a high-level view of coupling between packages: If you change a class in one package, you may have to change something in packages that depend on it A good architecture minimizes dependencies Fewer dependencies means lower coupling Dependency cycles are especially undesirable Easterbrook Easterbrook Architectural Patterns Presentation Layer Package E.g. 3 layer architecture: Presentation Layer Application Logic Layer Storage Layer Java AWT Storage Layer Package JDBC Application Windows Object to Relational Application Logic Layer Package Control Objects Business Objects Java SQL Easterbrook

XVIII. Software Architectures

XVIII. Software Architectures XVIII. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer 3-Tier and 4-Tier Architectures Horizontal Layers and Vertical Partitions The Model-View-Controller Architecture

More information

Lecture 7: Software Processes. Refresher: Software Always Evolves

Lecture 7: Software Processes. Refresher: Software Always Evolves Lecture 7: Software Processes What is a Software Development Process? The Lifecycle of a Software Project Agile vs. Disciplined Some common approaches: RUP, SCRUM, XP, ICONIX, Where UML fits in (next lecture)

More information

Introduction to System Design

Introduction to System Design Introduction to System Design Software Requirements and Design CITS 4401 Lecture 8 System Design is a creative process no cook book solutions goal driven we create a design for solving some problem constraint

More information

XIX. Software Architectures

XIX. Software Architectures XIX. Software Architectures Software Architectures UML Packages Client-Server vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

More information

ADVANCED SOFTWARE DESIGN LECTURE 4 SOFTWARE ARCHITECTURE

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

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning

Systems Development Life Cycle SDLC Planning Analysis Detailed systems design Implementation Maintenance 7 8 SDLC - Planning SDLC - Analysis Planning Objectives Computer Science 202 Database Systems: Database Design To learn what an information system is. To learn what a Database Life Cycle (DBLC) is. To learn what a Systems Development Life Cycle (SDLC)

More information

System Design and Modular Programming

System Design and Modular Programming CS3 Programming Methodology Lecture Note D1, 2 November 2000 System Design and Modular Programming System design involves meeting competing requirements and satisfying constraints on the system and the

More information

SOFTWARE ARCHITECTURE INTRODUCTION TO SOFTWARE ENGINEERING PHILIPPE LALANDA

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

Architectural Decomposition & Representations Reid Holmes

Architectural Decomposition & Representations Reid Holmes Architectural Decomposition & Representations Reid Holmes What is SW architecture? Definition: Blueprint for construction and evolution. Encompasses: Structure Behaviour The set of principal design decisions

More information

CS317 File and Database Systems

CS317 File and Database Systems CS317 File and Database Systems Lecture 9 Intro to Physical DBMS Design October 22, 2017 Sam Siewert Reminders Assignment #4 Due Friday, Monday Late Assignment #3 Returned Assignment #5, B-Trees and Physical

More information

COAP 3110 INTERACTIVE SITE DEVELOPMENT

COAP 3110 INTERACTIVE SITE DEVELOPMENT COAP 3110 INTERACTIVE SITE DEVELOPMENT http://wwwai.wu-wien.ac.at/~hahsler/webster/coap3110/ Instructor Michael Hahsler Tel. 31336/6081 0699 100 00 598 E-mail: hahsler@ai.wu-wien.ac.at 1 Course description

More information

Process of Interaction Design and Design Languages

Process of Interaction Design and Design Languages Process of Interaction Design and Design Languages Process of Interaction Design This week, we will explore how we can design and build interactive products What is different in interaction design compared

More information

Architectural Decomposition Reid Holmes

Architectural Decomposition Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems

Practical Database Design Methodology and Use of UML Diagrams Design & Analysis of Database Systems Practical Database Design Methodology and Use of UML Diagrams 406.426 Design & Analysis of Database Systems Jonghun Park jonghun@snu.ac.kr Dept. of Industrial Engineering Seoul National University chapter

More information

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction

CS425 Fall 2016 Boris Glavic Chapter 1: Introduction CS425 Fall 2016 Boris Glavic Chapter 1: Introduction Modified from: Database System Concepts, 6 th Ed. See www.db-book.com for conditions on re-use Textbook: Chapter 1 1.2 Database Management System (DBMS)

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

Systems Analysis and Design in a Changing World, Fourth Edition

Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, Fourth Edition Systems Analysis and Design in a Changing World, 4th Edition Learning Objectives Explain the purpose and various phases of the systems development

More information

Architectural Styles. Reid Holmes

Architectural Styles. Reid Holmes Material and some slide content from: - Emerson Murphy-Hill - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture Architectural Styles Reid Holmes Lecture 5 - Tuesday,

More information

Architectural Decomposition Mei Nagappan

Architectural Decomposition Mei Nagappan Material and some slide content from: - Emerson Murphy-Hill, Reid Holmes - Software Architecture: Foundations, Theory, and Practice - Essential Software Architecture - Steve Easterbrook Architectural Decomposition

More information

09. Component-Level Design

09. Component-Level Design 09. Component-Level Design Division of Computer Science, College of Computing Hanyang University ERICA Campus 1 st Semester 2017 What is Component OMG UML Specification defines a component as OO view a

More information

Client/Server-Architecture

Client/Server-Architecture Client/Server-Architecture Content Client/Server Beginnings 2-Tier, 3-Tier, and N-Tier Architectures Communication between Tiers The Power of Distributed Objects Managing Distributed Systems The State

More information

Database Systems. Sven Helmer. Database Systems p. 1/567

Database Systems. Sven Helmer. Database Systems p. 1/567 Database Systems Sven Helmer Database Systems p. 1/567 Chapter 1 Introduction and Motivation Database Systems p. 2/567 Introduction What is a database system (DBS)? Obviously a system for storing and managing

More information

Architectural Styles I

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

Database Server. 2. Allow client request to the database server (using SQL requests) over the network.

Database Server. 2. Allow client request to the database server (using SQL requests) over the network. Database Server Introduction: Client/Server Systems is networked computing model Processes distributed between clients and servers. Client Workstation (usually a PC) that requests and uses a service Server

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction Contents The History of Database System Overview of a Database Management System (DBMS) Three aspects of database-system studies the state of the art Introduction to Database Systems

More information

Databases & Database Users

Databases & Database Users Databases & Database Users Dr Fawaz Alarfaj Al Imam Mohammed Ibn Saud Islamic University ACKNOWLEDGEMENT Slides are adopted from: Elmasri & Navathe, Fundamentals of Database Systems Types of Databases

More information

Chapter 3. Database Architecture and the Web

Chapter 3. Database Architecture and the Web Chapter 3 Database Architecture and the Web 1 Chapter 3 - Objectives Software components of a DBMS. Client server architecture and advantages of this type of architecture for a DBMS. Function and uses

More information

Course Syllabus: Lifting Off into Space-Based Architecture with Magic xpi 4.x

Course Syllabus: Lifting Off into Space-Based Architecture with Magic xpi 4.x Course Syllabus: Lifting Off into Space-Based Architecture with Magic xpi 4.x TABLE OF CONTENTS: 1 COURSE OBJECTIVES AND GOALS... 2 2 GENERAL COURSE DETAILS... 2 3 TECHNICAL MATERIAL... 4 4 LESSONS...

More information

CSE Database Management Systems. York University. Parke Godfrey. Winter CSE-4411M Database Management Systems Godfrey p.

CSE Database Management Systems. York University. Parke Godfrey. Winter CSE-4411M Database Management Systems Godfrey p. CSE-4411 Database Management Systems York University Parke Godfrey Winter 2014 CSE-4411M Database Management Systems Godfrey p. 1/16 CSE-3421 vs CSE-4411 CSE-4411 is a continuation of CSE-3421, right?

More information

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1

B.H.GARDI COLLEGE OF MASTER OF COMPUTER APPLICATION. Ch. 1 :- Introduction Database Management System - 1 Basic Concepts :- 1. What is Data? Data is a collection of facts from which conclusion may be drawn. In computer science, data is anything in a form suitable for use with a computer. Data is often distinguished

More information

Design Concepts and Principles

Design Concepts and Principles Design Concepts and Principles Analysis to Design Data Object Description Entity- Relationship Diagram Data Flow Diagram Process Specification (PSPEC) Component level design (or) procedural design Data

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

Implementation Architecture

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

System Design. Design: HOW to implement a system

System Design. Design: HOW to implement a system System Design Design: HOW to implement a system Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1

More information

Database System Concepts and Architecture

Database System Concepts and Architecture CHAPTER 2 Database System Concepts and Architecture Copyright 2017 Ramez Elmasri and Shamkant B. Navathe Slide 2-2 Outline Data Models and Their Categories History of Data Models Schemas, Instances, and

More information

Managing Change and Complexity

Managing Change and Complexity Managing Change and Complexity The reality of software development Overview Some more Philosophy Reality, representations and descriptions Some more history Managing complexity Managing change Some more

More information

Middleware and Web Services Lecture 2: Introduction to Architectures

Middleware and Web Services Lecture 2: Introduction to Architectures Middleware and Web Services Lecture 2: Introduction to Architectures doc. Ing. Tomáš Vitvar, Ph.D. tomas@vitvar.com @TomasVitvar http://vitvar.com Czech Technical University in Prague Faculty of Information

More information

White Paper. Major Performance Tuning Considerations for Weblogic Server

White Paper. Major Performance Tuning Considerations for Weblogic Server White Paper Major Performance Tuning Considerations for Weblogic Server Table of Contents Introduction and Background Information... 2 Understanding the Performance Objectives... 3 Measuring your Performance

More information

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only

Component-Level Design. Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman. For non-profit educational use only Chapter 10 Component-Level Design Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For non-profit

More information

5/17/17. Announcements. Review: Transactions. Outline. Review: TXNs in SQL. Review: ACID. Database Systems CSE 414.

5/17/17. Announcements. Review: Transactions. Outline. Review: TXNs in SQL. Review: ACID. Database Systems CSE 414. Announcements Database Systems CSE 414 Lecture 21: More Transactions (Ch 8.1-3) HW6 due on Today WQ7 (last!) due on Sunday HW7 will be posted tomorrow due on Wed, May 24 using JDBC to execute SQL from

More information

Database Systems CSE 414

Database Systems CSE 414 Database Systems CSE 414 Lecture 21: More Transactions (Ch 8.1-3) CSE 414 - Spring 2017 1 Announcements HW6 due on Today WQ7 (last!) due on Sunday HW7 will be posted tomorrow due on Wed, May 24 using JDBC

More information

Appendix A - Glossary(of OO software term s)

Appendix A - Glossary(of OO software term s) Appendix A - Glossary(of OO software term s) Abstract Class A class that does not supply an implementation for its entire interface, and so consequently, cannot be instantiated. ActiveX Microsoft s component

More information

SOFTWARE LAYERS AND MEASUREMENT

SOFTWARE LAYERS AND MEASUREMENT SOFTWARE LAYERS AND MEASUREMENT Jean-Marc Desharnais, Software Engineering Laboratory in Applied Metrics Denis St-Pierre, DSA Consulting Inc. Serge Oligny, Laboratoire de recherche en gestion des logiciels

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

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science

Lesson 11. W.C.Udwela Department of Mathematics & Computer Science Lesson 11 INTRODUCING UML W.C.Udwela Department of Mathematics & Computer Science Why we model? Central part of all the activities We build model to Communicate Visualize and control Better understand

More information

ITP 140 Mobile Technologies. Databases Client/Server

ITP 140 Mobile Technologies. Databases Client/Server ITP 140 Mobile Technologies Databases Client/Server Databases Data: recorded facts and figures Information: knowledge derived from data Databases record data, but they do so in such a way that we can produce

More information

High Availability Overview Paper

High Availability Overview Paper High Availability Overview Paper March 2001 Please note: The information contained in this document is intended as a guide to implementing high availability systems. Please keep in mind, however, that

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

Software architecture in ASPICE and Even-André Karlsson

Software architecture in ASPICE and Even-André Karlsson Software architecture in ASPICE and 26262 Even-André Karlsson Agenda Overall comparison (3 min) Why is the architecture documentation difficult? (2 min) ASPICE requirements (8 min) 26262 requirements (12

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 21: Transaction Implementations CSE 344 - Winter 2017 1 Announcements WQ7 and HW7 are out Due next Mon and Wed Start early, there is little time! CSE 344

More information

Unit-3 Software Design (Lecture Notes)

Unit-3 Software Design (Lecture Notes) Unit-3 Software Design (Lecture Notes) Prepared by Jay Nanavati, Assistant Professor, SEMCOM Topics Software Design - Introduction Design Principles Module Level concepts Overview of Structured design

More information

Lecture 9: MIMD Architectures

Lecture 9: MIMD Architectures Lecture 9: MIMD Architectures Introduction and classification Symmetric multiprocessors NUMA architecture Clusters Zebo Peng, IDA, LiTH 1 Introduction A set of general purpose processors is connected together.

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Distributed transactions (quick refresh) Layers of an information system Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

System Design. Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice)

System Design. Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice) System Design Acknowledge: Atlee and Pfleeger (Software Engineering: Theory and Practice) C 870: Advanced Software Engineering (System Design): Cheng Design: HOW to implement a system Goals: Satisfy the

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

CSC 261/461 Database Systems Lecture 20. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101

CSC 261/461 Database Systems Lecture 20. Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101 CSC 261/461 Database Systems Lecture 20 Spring 2017 MW 3:25 pm 4:40 pm January 18 May 3 Dewey 1101 Announcements Project 1 Milestone 3: Due tonight Project 2 Part 2 (Optional): Due on: 04/08 Project 3

More information

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies.

Chapter Outline. Chapter 2 Distributed Information Systems Architecture. Layers of an information system. Design strategies. Prof. Dr.-Ing. Stefan Deßloch AG Heterogene Informationssysteme Geb. 36, Raum 329 Tel. 0631/205 3275 dessloch@informatik.uni-kl.de Chapter 2 Distributed Information Systems Architecture Chapter Outline

More information

Information Technology Engineers Examination. Database Specialist Examination. (Level 4) Syllabus. Details of Knowledge and Skills Required for

Information Technology Engineers Examination. Database Specialist Examination. (Level 4) Syllabus. Details of Knowledge and Skills Required for Information Technology Engineers Examination Database Specialist Examination (Level 4) Syllabus Details of Knowledge and Skills Required for the Information Technology Engineers Examination Version 3.1

More information

XVIII. Software Architectures

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

System Design. Design Issues. System Design. System Design. Design: HOW to implement a system. Strategic vs. Local Design Decisions.

System Design. Design Issues. System Design. System Design. Design: HOW to implement a system. Strategic vs. Local Design Decisions. Design: HOW to implement a system System Design Goals: Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1

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

Product. e ss. P roc. so get the right requirements. Garbage in garbage out,

Product. e ss. P roc. so get the right requirements. Garbage in garbage out, If software is simply for automation, what would a washing machine be like? 1 RE Process Lawrence Chung Department of Computer Science The University of Texas at Dallas 2 RE Process: What is a Process?

More information

Design: HOW to implement a system

Design: HOW to implement a system System Design Goals: Design: HOW to implement a system Satisfy the requirements Satisfy the customer Reduce development costs Provide reliability Support maintainability Plan for future modifications 1

More information

Software Paradigms (Lesson 10) Selected Topics in Software Architecture

Software Paradigms (Lesson 10) Selected Topics in Software Architecture Software Paradigms (Lesson 10) Selected Topics in Software Architecture Table of Contents 1 World-Wide-Web... 2 1.1 Basic Architectural Solution... 2 1.2 Designing WWW Applications... 7 2 CORBA... 11 2.1

More information

The LUCID Design Framework (Logical User Centered Interaction Design)

The LUCID Design Framework (Logical User Centered Interaction Design) The LUCID Design Framework (Logical User Centered Interaction Design) developed by Cognetics Corporation LUCID Logical User Centered Interaction Design began as a way of describing the approach to interface

More information

The process of interaction design and Prototyping

The process of interaction design and Prototyping Chapter 6 edited The process of interaction design and Prototyping 1 Overview What is involved in Interaction Design? Importance of involving users Degrees of user involvement What is a user-centered approach?

More information

7. Query Processing and Optimization

7. Query Processing and Optimization 7. Query Processing and Optimization Processing a Query 103 Indexing for Performance Simple (individual) index B + -tree index Matching index scan vs nonmatching index scan Unique index one entry and one

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

CSCI 3130 Software Architectures 1/3. February 5, 2013

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

Plug-and-Analyze (PnA): An Integrated Framework for Architecture Tradeoff Analysis Tool Support

Plug-and-Analyze (PnA): An Integrated Framework for Architecture Tradeoff Analysis Tool Support Plug-and-Analyze (PnA): An Integrated Framework for Architecture Tradeoff Analysis Tool Support Ground Systems Architecture Workshop 2000 February 23-25, 2000 Hoh In (hohin@cs.tamu.edu) http://www.cs.tamu.edu/faculty/hohin

More information

Logical Architecture & Design Preliminaries

Logical Architecture & Design Preliminaries Logical Architecture & Design Preliminaries CSSE 574: Week 2, Part 4 Steve Chenoweth Phone: Office (812) 877-8974 Cell (937) 657-3885 Email: chenowet@rose-hulman.edu From Requirements to Architecture Customer

More information

Introduction to Data Management CSE 344

Introduction to Data Management CSE 344 Introduction to Data Management CSE 344 Lecture 22: Transactions I CSE 344 - Fall 2014 1 Announcements HW6 due tomorrow night Next webquiz and hw out by end of the week HW7: Some Java programming required

More information

SETH JAI PARKASH POLYTECHNIC, DAMLA COMPUTER ENGINEERING-5 TH SEMESTER

SETH JAI PARKASH POLYTECHNIC, DAMLA COMPUTER ENGINEERING-5 TH SEMESTER Lesson Plan Name of the Faculty : Rohit Mandhar Discipline : Computer Engg. Semester : 5 th Subject : RDBMS Lesson Plan Duration : 15 weeks (from July 2018 to Nov 2018) Work Load (Lecture / ) per week

More information

Database Applications

Database Applications Database Applications Database Programming Application Architecture Objects and Relational Databases John Edgar 2 Users do not usually interact directly with a database via the DBMS The DBMS provides

More information

PLATFORM TECHNOLOGY UNIT-5

PLATFORM TECHNOLOGY UNIT-5 1. Write in brief about the J2EE enterprise edition? Java is one of the most commonly used and mature programming languages for building enterprise applications. Java development has evolved from small

More information

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1

Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 Performance Best Practices Paper for IBM Tivoli Directory Integrator v6.1 and v6.1.1 version 1.0 July, 2007 Table of Contents 1. Introduction...3 2. Best practices...3 2.1 Preparing the solution environment...3

More information

Department of Information Technology B.E/B.Tech : CSE/IT Regulation: 2013 Sub. Code / Sub. Name : CS6302 Database Management Systems

Department of Information Technology B.E/B.Tech : CSE/IT Regulation: 2013 Sub. Code / Sub. Name : CS6302 Database Management Systems COURSE DELIVERY PLAN - THEORY Page 1 of 6 Department of Information Technology B.E/B.Tech : CSE/IT Regulation: 2013 Sub. Code / Sub. Name : CS6302 Database Management Systems Unit : I LP: CS6302 Rev. :

More information

Architectural Styles I

Architectural Styles I Architectural Styles I Software Architecture VO/KU (707.023/707.024) Denis Helic, Roman Kern KMI, TU Graz Nov 14, 2012 Denis Helic, Roman Kern (KMI, TU Graz) Architectural Styles I Nov 14, 2012 1 / 80

More information

Oracle Enterprise Manager 12c Sybase ASE Database Plug-in

Oracle Enterprise Manager 12c Sybase ASE Database Plug-in Oracle Enterprise Manager 12c Sybase ASE Database Plug-in May 2015 Safe Harbor Statement The following is intended to outline our general product direction. It is intended for information purposes only,

More information

Lecture 23 Database System Architectures

Lecture 23 Database System Architectures CMSC 461, Database Management Systems Spring 2018 Lecture 23 Database System Architectures These slides are based on Database System Concepts 6 th edition book (whereas some quotes and figures are used

More information

Announcements. SQL: Part IV. Transactions. Summary of SQL features covered so far. Fine prints. SQL transactions. Reading assignments for this week

Announcements. SQL: Part IV. Transactions. Summary of SQL features covered so far. Fine prints. SQL transactions. Reading assignments for this week Announcements 2 SQL: Part IV CPS 216 Advanced Database Systems Reading assignments for this week A Critique of ANSI SQL Isolation Levels, by Berenson et al. in SIGMOD 1995 Weaving Relations for Cache Performance,

More information

Wide Area Query Systems The Hydra of Databases

Wide Area Query Systems The Hydra of Databases Wide Area Query Systems The Hydra of Databases Stonebraker et al. 96 Gribble et al. 02 Zachary G. Ives University of Pennsylvania January 21, 2003 CIS 650 Data Sharing and the Web The Vision A World Wide

More information

Chapter 13. Application Architecture and Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved.

Chapter 13. Application Architecture and Modeling. McGraw-Hill/Irwin. Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 13 Application Architecture and Modeling McGraw-Hill/Irwin Copyright 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Objectives 13-2 Define an information system s architecture in

More information

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1

Distributed Systems Architectures. Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures Ian Sommerville 2006 Software Engineering, 8th edition. Chapter 12 Slide 1 Objectives To explain the advantages and disadvantages of different distributed systems architectures

More information

Distributed Data Management Transactions

Distributed Data Management Transactions Felix Naumann F-2.03/F-2.04, Campus II Hasso Plattner Institut must ensure that interactions succeed consistently An OLTP Topic Motivation Most database interactions consist of multiple, coherent operations

More information

Security, Monitoring, and Control of the Re-engineered Hubble Space Telescope Control Center System

Security, Monitoring, and Control of the Re-engineered Hubble Space Telescope Control Center System Security, Monitoring, and Control of the Re-engineered Hubble Space Telescope Control Center System Caleb Principe, NASA Goddard Space Flight Center Larry Barrett, Orbital Sciences Corporation Thomas Buchanan,

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021 Review of Basic Software Design Concepts Fethi Rabhi SENG 2021 1 Topics The development process Planning Designing Implementing 2 1. The development process How to organise activities related to the creation,

More information

Lecture 1: January 23

Lecture 1: January 23 CMPSCI 677 Distributed and Operating Systems Spring 2019 Lecture 1: January 23 Lecturer: Prashant Shenoy Scribe: Jonathan Westin (2019), Bin Wang (2018) 1.1 Introduction to the course The lecture started

More information

Figure 1 - EDGE Developer Suite Block Diagram

Figure 1 - EDGE Developer Suite Block Diagram For businesses and consumers, the digital world is a place where user applications and interfaces keep getting easier. Embedded microprocessors aid in nearly every mundane task from monitoring the manufacturing

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction

CMPUT 391 Database Management Systems. Fall Semester 2006, Section A1, Dr. Jörg Sander. Introduction CMPUT 391 Database Management Systems Fall Semester 2006, Section A1, Dr. Jörg Sander Introduction University of Alberta 1 Objectives of Lecture 1 Get a rough initial idea about the content of the course:

More information

Object Model. Object Orientated Analysis and Design. Benjamin Kenwright

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

Chapter 13: Architecture Patterns

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

The functions performed by a typical DBMS are the following:

The functions performed by a typical DBMS are the following: MODULE NAME: Database Management TOPIC: Introduction to Basic Database Concepts LECTURE 2 Functions of a DBMS The functions performed by a typical DBMS are the following: Data Definition The DBMS provides

More information

New Features Summary PowerDesigner 15.2

New Features Summary PowerDesigner 15.2 New Features Summary PowerDesigner 15.2 Windows DOCUMENT ID: DC10077-01-1520-01 LAST REVISED: February 2010 Copyright 2010 by Sybase, Inc. All rights reserved. This publication pertains to Sybase software

More information

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction

DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN. Chapter 1. Introduction DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S. TANENBAUM MAARTEN VAN STEEN Chapter 1 Introduction Modified by: Dr. Ramzi Saifan Definition of a Distributed System (1) A distributed

More information

Database Applications (15-415)

Database Applications (15-415) Database Applications (15-415) The Entity Relationship Model Lecture 2, January 12, 2016 Mohammad Hammoud Today Last Session: Course overview and a brief introduction on databases and database systems

More information

Introduction to Architecture. Introduction to Architecture 1

Introduction to Architecture. Introduction to Architecture 1 Introduction to Architecture Introduction to Architecture 1 Content What is architecture? Motivation for architecture Non-functional requirements Introduction to Architecture 2 What is architecture? The

More information

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812)

CSSE 374: Logical Architecture. Shawn Bohner Office: Moench Room F212 Phone: (812) CSSE 374: Logical Architecture Shawn Bohner Office: Moench Room F212 Phone: (812) 877-8685 Email: bohner@rose-hulman.edu An Engineering Decision Learning Outcomes: O-O Design Demonstrate object-oriented

More information