Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces

Size: px
Start display at page:

Download "Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces"

Transcription

1 Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The problem is divided in tasks corresponding to tasks in a design process and you will work concurrently Software Engineering , Tony Larsson, Halmstad University 1 Decomposition into Parts Assuming that we have a picture of the functions and the data to handle and an idea about overall architecture principles: Do a decomposition of the system into parts (subsystems or components) Identify a how these parts should interwork Software Engineering , Tony Larsson, Halmstad University 2 Allocation of Functions and Data Whether a specific function or data should belong to one part or to another is difficult to decide and the decision may change when more information is known You can t design a competitive and needed product without knowledge and there is a lot that you must get knowledge about Data and Function Cohesion By analysis of the relationships between data instances we can often identify clusters of closely related data Functions associated with and applicable to the data clusters can then be identified Software Engineering , Tony Larsson, Halmstad University 3 Software Engineering , Tony Larsson, Halmstad University 4 Data and Function Decoupling Look for boarders where the coupling between the clusters are small A decoupled cluster of related data and functions (use cases) is a good candidate or base for a component Such components with low coupling can be distributed without too negative effects on the communication costs Component Interfaces Having identified potential components we should now think about the interfaces between these The interface should decouple the internals of the component and other components Software Engineering , Tony Larsson, Halmstad University 5 Software Engineering , Tony Larsson, Halmstad University 6 1

2 Interfaces An interface only should give access to the services or functions that the component provide Interfaces should be designed with the future in mind and for backwards compatibility etc. Suitable interfaces is key to long term success A component: 1. Is a part designed to be replaceable and useful in several system contexts 2. Have (or can access) knowledge about other component types and services 3. Lack knowledge about component instances and connections at design time 4. Provides a service interface and uses such interfaces 5. Is adapted to its environment by passing parameters via input ports at compile, linking, load or run time 6. Communicate its data via output ports (or is directed via name servers) to other components input ports Software Engineering , Tony Larsson, Halmstad University 7 Software Engineering , Tony Larsson, Halmstad University 8 HW and SW dependencies Make a careful analysis of the physical world where the system is intended to work Get to know the HW that the system is based on It is also important to identify relationships to the OS and other SW components (to be used) HW and SW dependencies, cont. Some applications work at a high less HW dependent levels Other applications work at lower more HW specific and HW dependent levels HW and SW components can in a sense be regarded as actors related to a specific kind of use cases Software Engineering , Tony Larsson, Halmstad University 9 Software Engineering , Tony Larsson, Halmstad University 10 HW and SW dependencies, cont. Lower level SW deal with issues such as interrupts; memory management and addressing issues; and also cooperate with HW units via drivers and communication buffers In early phases of a development project we should identify the dependencies between SW and HW (but save the solution to later phases) For embedded SW components surrounding HW and SW are the main actors that we can identify and will interact with Development effort estimation Make an early estimate the size of the project required to finish a first version of the product you aim for If we estimate the effort it takes to develop each part it is easier to extrapolate a cost for the whole Partitioning into reasonably sized parts or work packages simplifies this Software Engineering , Tony Larsson, Halmstad University 11 Software Engineering , Tony Larsson, Halmstad University 12 2

3 Development effort estimation For a large system we do the partitioning in several steps This until we understand the complexity of what we do We must also estimate remaining uncertainties and risks Design Patterns Documented problem-solution pairs that can be reused in different contexts where similar (matching) problems exist Patterns are guidelines that simplifies to assign responsibilities to objects Design patterns can use architecture concepts such as separation of concerns using modularization and/or layering Software Engineering , Tony Larsson, Halmstad University 13 Software Engineering , Tony Larsson, Halmstad University 14 Regularity and repetition Design patterns make it easier to see and talk about commonly occurring problems and their solutions By using patterns repeatedly, simple regular structures can be designed Such regular structures are easy to maintain Examples of design patterns Client-Server Presentation - Application Logic Data Store (3-tier, client-server-db) Module (cohesive loosely coupled) Layer (above layer) Command handler Resource handler Software Engineering , Tony Larsson, Halmstad University 15 Software Engineering , Tony Larsson, Halmstad University 16 Examples of design patterns, cont. Information handler Low coupling High cohesion Creators and factories Controllers and coordinators Interface, adapter, facade and proxy Cross cutting concern There are several problems that influence a whole system Such problems are called cross cutting concerns Software Engineering , Tony Larsson, Halmstad University 17 Software Engineering , Tony Larsson, Halmstad University 18 3

4 Cross cutting security concerns Security concerns cut across application module boundaries Security related code must be scattered into other application code Changing the security code becomes hard, because it has to be changed in many places This spreading of the security code also compromise maintainability and reuse Major and Minor Concerns Code for some aspects or concerns has a tendency to be spread across the system over many of its components Security Maintenance Software Engineering , Tony Larsson, Halmstad University 19 Software Engineering , Tony Larsson, Halmstad University 20 Modularized Concerns Ideally we want the concern specific code gather in a module Security Aspect Oriented Programming AOP develops cross cutting concerns, or aspects, as isolated issues AOP combines solutions to these issues with application modules at build or run time using a technique called weaving Maintenance Software Engineering , Tony Larsson, Halmstad University 21 Software Engineering , Tony Larsson, Halmstad University 22 Weaving Traditional code linking can resolve and connect method and variable names Weaving adds the ability to: replace method bodies with new implementations, insert code before and after method calls, instrument variable reads and writes, and modify class structures by adding new methods, fields, parent classes and interfaces SW product sharing SW component products must be possible to be added and removed as wanted This requires that the SW products are designed for this Many SW techniques requires that we package (bundle) and load all code related to a component Software Engineering , Tony Larsson, Halmstad University 23 Software Engineering , Tony Larsson, Halmstad University 24 4

5 SW product sharing, cont. A smart loader will only load code that is not already installed, enforcing code sharing between components To support updates of such SW components the loader and upgrading technique must be able to distinguish between different versions of shared code Packaging To package software as products or components in a proper way we must know what the programming language or platform technique supports We don t want to change the name of a function (method) just because we make an update or error correction It is practical if the technique supports that a loader can distinguish between versions of the same function (for example by use of identities hidden to the programmer) Software Engineering , Tony Larsson, Halmstad University 25 Software Engineering , Tony Larsson, Halmstad University 26 Code sharing between packets Deployment Diagram C1 f(1) f(2) f(3) Application C2 f(1) f(4) f(5) C3 f(4) f(6) f(7) C1 Application C2 C3 f(2) f(3) f(1) f(5) f(4) f(6) f(7) browser.exe Java VM OS app_logic.exe Linux database.exe Oracle DBMS Node 1 Node 2 Node 3 Static view of the run-time configuration of physical (processing) nodes and allocated SW components Software Engineering , Tony Larsson, Halmstad University 27 Software Engineering , Tony Larsson, Halmstad University 28 UML diagram types Structural Capturing the static properties of classes, objects, interfaces and physical components and their relationships and dependencies Behavioral Capturing the dynamic message interaction and state changes within and between modelled items UML 2.0 Two links describing UML 2.0 diagrams: iagrams.htm Rhapsody UML tool, see: Software Engineering , Tony Larsson, Halmstad University 29 Software Engineering , Tony Larsson, Halmstad University 30 5

6 Structural Modelling Package diagrams Class or Structural diagrams Object diagrams Composite Structure Component diagrams Deployment diagrams Behavioural Modelling Use Case diagrams Activity diagrams State Machine diagrams Communication diagrams Sequence diagrams Timing diagrams Overview diagrams Software Engineering , Tony Larsson, Halmstad University 31 Software Engineering , Tony Larsson, Halmstad University 32 Training Exercise Design an automated bank transaction system based on the fact that each user has a bank card, a pin code and an account (possibly shared with other persons). Identify and describe: Requirements and reference model Actors and use cases Data model (class or object or both) Interaction sequences State transition behaviour Work in Parallel Since we have very limited time during the lecture we should distribute the work among you Work in 5 concurrent teams that each present their contributions to solving the problem to the rest of us Each team work in 45 minutes with their task and then we spend 15 minutes to present the different results and to do adjustments and conclusions Software Engineering , Tony Larsson, Halmstad University 33 Software Engineering , Tony Larsson, Halmstad University 34 Concurrent Engineering Requirements & ref. model Actors & use cases Data model Interaction sequences State transition behaviour Integration 45 minutes 15 minutes Software Engineering , Tony Larsson, Halmstad University 35 Presentation of Results Each team should present their results such that we all can discuss what you contribute with Write and illustrate your team results in a clear and readable way so that we can make copies of the results and distribute to the other teams Each team should finally discuss what improvements they like to make based on the results from the other teams The idea is that you should get a feeling for concurrent and time limited team work Software Engineering , Tony Larsson, Halmstad University 36 6

Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340

Information Systems Analysis and Design CSC340. 2004 John Mylopoulos. Software Architectures -- 1. Information Systems Analysis and Design CSC340 XIX. Software Architectures Software Architectures UML Packages Client- vs Peer-to-Peer Horizontal Layers and Vertical Partitions 3-Tier and 4-Tier Architectures The Model-View-Controller Architecture

More information

Introduction to Embedded Systems. Software Update Problem

Introduction to Embedded Systems. Software Update Problem Introduction to Embedded Systems CS/ECE 6780/5780 Al Davis logistics minor Today s topics: more software development issues 1 CS 5780 Software Update Problem Lab machines work let us know if they don t

More information

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/

Architecture. Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Architecture Reda Bendraou reda.bendraou{{@}}lip6.fr http://pagesperso-systeme.lip6.fr/reda.bendraou/ Some slides were adapted from L. Osterweil, B. Meyer, and P. Müller material Reda Bendraou LI386-S1

More information

TNM090 Software Engineering. Software Engineering

TNM090 Software Engineering. Software Engineering TNM090 Software Engineering Software Engineering Software Engineering Not programming => Software system development customer/producer negotiations budget and time constraints quality and feature requirements

More information

Software design (Cont.)

Software design (Cont.) Package diagrams Architectural styles Software design (Cont.) Design modelling technique: Package Diagrams Package: A module containing any number of classes Packages can be nested arbitrarily E.g.: Java

More information

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer

Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Generate Results. Real Models. Real Code. Real Fast. Embedded/Real-Time Software Development with PathMATE and IBM Rational Systems Developer Andreas Henriksson, Ericsson andreas.henriksson@ericsson.com

More information

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap. Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap. 1 Oracle9i Documentation First-Semester 1427-1428 Definitions

More information

Full and Para Virtualization

Full and Para Virtualization Full and Para Virtualization Dr. Sanjay P. Ahuja, Ph.D. 2010-14 FIS Distinguished Professor of Computer Science School of Computing, UNF x86 Hardware Virtualization The x86 architecture offers four levels

More information

Applying 4+1 View Architecture with UML 2. White Paper

Applying 4+1 View Architecture with UML 2. White Paper Applying 4+1 View Architecture with UML 2 White Paper Copyright 2007 FCGSS, all rights reserved. www.fcgss.com Introduction Unified Modeling Language (UML) has been available since 1997, and UML 2 was

More information

September 18, 2014. Modular development in Magento 2. Igor Miniailo Magento

September 18, 2014. Modular development in Magento 2. Igor Miniailo Magento September 18, 2014 Modular development in Magento 2 Igor Miniailo Magento Agenda 1 Magento 2 goals 2 Magento 1 modules 3 Decoupling techniques 4 Magento 2 is it getting better? 5 Modularity examples Magento

More information

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont.

Objectives. Chapter 2: Operating-System Structures. Operating System Services (Cont.) Operating System Services. Operating System Services (Cont. Objectives To describe the services an operating system provides to users, processes, and other systems To discuss the various ways of structuring an operating system Chapter 2: Operating-System Structures

More information

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53

Contents. Introduction and System Engineering 1. Introduction 2. Software Process and Methodology 16. System Engineering 53 Preface xvi Part I Introduction and System Engineering 1 Chapter 1 Introduction 2 1.1 What Is Software Engineering? 2 1.2 Why Software Engineering? 3 1.3 Software Life-Cycle Activities 4 1.3.1 Software

More information

RUP Design Workflow. Michael Fourman Cs2 Software Engineering

RUP Design Workflow. Michael Fourman Cs2 Software Engineering RUP Design Workflow Michael Fourman Introduction Design architecture that can meet all requirements Understand non-functional requirements and constraints related to technologies Identify subsystems (overall

More information

Lesson 8: DESIGN PROCESSES AND DESIGN METRIC FOR AN EMBEDDED-SYSTEM DESIGN

Lesson 8: DESIGN PROCESSES AND DESIGN METRIC FOR AN EMBEDDED-SYSTEM DESIGN Lesson 8: DESIGN PROCESSES AND DESIGN METRIC FOR AN EMBEDDED-SYSTEM DESIGN 1 Abstraction Each problem component first abstracted. For example, Display picture and text as an abstract class Robotic system

More information

Chapter 2 Operating System Overview

Chapter 2 Operating System Overview Operating Systems: Internals and Design Principles, 6/E William Stallings Chapter 2 Operating System Overview Dave Bremer Otago Polytechnic, N.Z. 2008, Prentice Hall Roadmap Operating System Objectives/Functions

More information

IMPLEMENTING DIGITAL BUSINESS PLATFORM APPS USING MICROSERVICES. Ian Ward Pre-Sales Manager, ANZ Software AG. All rights reserved.

IMPLEMENTING DIGITAL BUSINESS PLATFORM APPS USING MICROSERVICES. Ian Ward Pre-Sales Manager, ANZ Software AG. All rights reserved. IMPLEMENTING DIGITAL BUSINESS PLATFORM APPS USING MICROSERVICES Ian Ward Pre-Sales Manager, ANZ 2015 Software AG. All rights reserved. MONOLITHIC ARCHITECTURE Database App Server Search Signup Business

More information

Lecture 21: Software Architectures

Lecture 21: Software Architectures Lecture 21: Software Architectures Architectural Styles Pipe and filter Object oriented: Client-Server; Object Broker Event based Layered: Designing Layered Architectures Repositories: Blackboard, MVC

More information

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits:

Hypervisors. Introduction. Introduction. Introduction. Introduction. Introduction. Credits: Hypervisors Credits: P. Chaganti Xen Virtualization A practical handbook D. Chisnall The definitive guide to Xen Hypervisor G. Kesden Lect. 25 CS 15-440 G. Heiser UNSW/NICTA/OKL Virtualization is a technique

More information

Chapter 3: Operating-System Structures. Common System Components

Chapter 3: Operating-System Structures. Common System Components Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System Design and Implementation System Generation 3.1

More information

Software Architecture Document

Software Architecture Document Software Architecture Document Natural Language Processing Cell Version 1.0 Natural Language Processing Cell Software Architecture Document Version 1.0 1 1. Table of Contents 1. Table of Contents... 2

More information

Engineering Process Software Qualities Software Architectural Design

Engineering Process Software Qualities Software Architectural Design Engineering Process We need to understand the steps that take us from an idea to a product. What do we do? In what order do we do it? How do we know when we re finished each step? Production process Typical

More information

In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools

In this Lecture you will Learn: Implementation. Software Implementation Tools. Software Implementation Tools In this Lecture you will Learn: Implementation Chapter 19 About tools used in software implementation How to draw component diagrams How to draw deployment diagrams The tasks involved in testing a system

More information

zen Platform technical white paper

zen Platform technical white paper zen Platform technical white paper The zen Platform as Strategic Business Platform The increasing use of application servers as standard paradigm for the development of business critical applications meant

More information

Requirements engineering

Requirements engineering Learning Unit 2 Requirements engineering Contents Introduction............................................... 21 2.1 Important concepts........................................ 21 2.1.1 Stakeholders and

More information

Introduction to Virtual Machines

Introduction to Virtual Machines Introduction to Virtual Machines Introduction Abstraction and interfaces Virtualization Computer system architecture Process virtual machines System virtual machines 1 Abstraction Mechanism to manage complexity

More information

Sofware Requirements Engineeing

Sofware Requirements Engineeing Sofware Requirements Engineeing Three main tasks in RE: 1 Elicit find out what the customers really want. Identify stakeholders, their goals and viewpoints. 2 Document write it down (). Understandable

More information

Instrumentation Software Profiling

Instrumentation Software Profiling Instrumentation Software Profiling Software Profiling Instrumentation of a program so that data related to runtime performance (e.g execution time, memory usage) is gathered for one or more pieces of the

More information

RE-TRUST Design Alternatives on JVM

RE-TRUST Design Alternatives on JVM RE-TRUST Design Alternatives on JVM ( - Italy) paolo.falcarin@polito.it http://softeng.polito.it/falcarin Trento, December, 19 th 2006 Tamper-Detection Tamper-detection goals Detect malicious modifications

More information

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation Objectives Distributed Databases and Client/Server Architecture IT354 @ Peter Lo 2005 1 Understand the advantages and disadvantages of distributed databases Know the design issues involved in distributed

More information

Principles Leading to Good Design. Techniques for making design decisions. Using cost-benefit analysis to choose. Writing a Good Design Document

Principles Leading to Good Design. Techniques for making design decisions. Using cost-benefit analysis to choose. Writing a Good Design Document Principles Leading to Good Design Techniques for making design decisions Overall goals of good design: Increasing profit by reducing cost and increasing revenue Ensuring that we actually conform with the

More information

Aspect-Oriented Programming

Aspect-Oriented Programming Aspect-Oriented Programming An Introduction to Aspect-Oriented Programming and AspectJ Niklas Påhlsson Department of Technology University of Kalmar S 391 82 Kalmar SWEDEN Topic Report for Software Engineering

More information

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL

CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL CHAPTER 2 MODELLING FOR DISTRIBUTED NETWORK SYSTEMS: THE CLIENT- SERVER MODEL This chapter is to introduce the client-server model and its role in the development of distributed network systems. The chapter

More information

Chapter 1 - Web Server Management and Cluster Topology

Chapter 1 - Web Server Management and Cluster Topology Objectives At the end of this chapter, participants will be able to understand: Web server management options provided by Network Deployment Clustered Application Servers Cluster creation and management

More information

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements

Questions? Assignment. Techniques for Gathering Requirements. Gathering and Analysing Requirements Questions? Assignment Why is proper project management important? What is goal of domain analysis? What is the difference between functional and non- functional requirements? Why is it important for requirements

More information

Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II)

Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) Software Engineering Prof. N.L. Sarda Computer Science & Engineering Indian Institute of Technology, Bombay Lecture-4 Overview of Phases (Part - II) We studied the problem definition phase, with which

More information

Scalability and BMC Remedy Action Request System TECHNICAL WHITE PAPER

Scalability and BMC Remedy Action Request System TECHNICAL WHITE PAPER Scalability and BMC Remedy Action Request System TECHNICAL WHITE PAPER Table of contents INTRODUCTION...1 BMC REMEDY AR SYSTEM ARCHITECTURE...2 BMC REMEDY AR SYSTEM TIER DEFINITIONS...2 > Client Tier...

More information

High Level Design Distributed Network Traffic Controller

High Level Design Distributed Network Traffic Controller High Level Design Distributed Network Traffic Controller Revision Number: 1.0 Last date of revision: 2/2/05 22c:198 Johnson, Chadwick Hugh Change Record Revision Date Author Changes 1 Contents 1. Introduction

More information

Aerospace Software Engineering

Aerospace Software Engineering 16.35 Aerospace Software Engineering Software Architecture The 4+1 view Patterns Prof. Kristina Lundqvist Dept. of Aero/Astro, MIT Why Care About Software Architecture? An architecture provides a vehicle

More information

F-16 Modular Mission Computer Application Software

F-16 Modular Mission Computer Application Software F-16 Modular Mission Computer Application Software Achieving Cross-Platform Compatibility with Increased Productivity and Quality using the OMG s Model Driven Architecture Lauren E. Clark Chief Engineer

More information

Introducing logical servers: Making data center infrastructures more adaptive

Introducing logical servers: Making data center infrastructures more adaptive Introducing logical servers: Making data center infrastructures more adaptive technology brief, 2 nd edition Abstract... 2 Introduction... 2 Overview of logical servers... 3 Why use logical servers?...

More information

New Generation of Software Development

New Generation of Software Development New Generation of Software Development Terry Hon University of British Columbia 201-2366 Main Mall Vancouver B.C. V6T 1Z4 tyehon@cs.ubc.ca ABSTRACT In this paper, I present a picture of what software development

More information

Automated Virtual Cloud Management: The need of future

Automated Virtual Cloud Management: The need of future Automated Virtual Cloud Management: The need of future Prof. (Ms) Manisha Shinde-Pawar Faculty of Management (Information Technology), Bharati Vidyapeeth Univerisity, Pune, IMRDA, SANGLI Abstract: With

More information

IT2404 Systems Analysis and Design (Compulsory)

IT2404 Systems Analysis and Design (Compulsory) Systems Analysis and Design (Compulsory) BIT 1 st YEAR SEMESTER 2 INTRODUCTION This is one of the 4 courses designed for Semester 1 of Bachelor of Information Technology Degree program. CREDITS: 04 LEARNING

More information

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems

SOFT 437. Software Performance Analysis. Ch 5:Web Applications and Other Distributed Systems SOFT 437 Software Performance Analysis Ch 5:Web Applications and Other Distributed Systems Outline Overview of Web applications, distributed object technologies, and the important considerations for SPE

More information

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.

Oracle WebLogic Foundation of Oracle Fusion Middleware. Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin. Oracle WebLogic Foundation of Oracle Fusion Middleware Lawrence Manickam Toyork Systems Inc www.toyork.com http://ca.linkedin.com/in/lawrence143 History of WebLogic WebLogic Inc started in 1995 was a company

More information

Introduction to Embedded Systems

Introduction to Embedded Systems S E C T I O N I Introduction to Embedded Systems Introduction to Embedded Systems The field of embedded systems is wide and varied, and it is difficult to pin down exact definitions or descriptions. However,

More information

Example of Standard API

Example of Standard API 16 Example of Standard API System Call Implementation Typically, a number associated with each system call System call interface maintains a table indexed according to these numbers The system call interface

More information

Cloud computing - Architecting in the cloud

Cloud computing - Architecting in the cloud Cloud computing - Architecting in the cloud anna.ruokonen@tut.fi 1 Outline Cloud computing What is? Levels of cloud computing: IaaS, PaaS, SaaS Moving to the cloud? Architecting in the cloud Best practices

More information

Computer System Structure

Computer System Structure Computer System Structure Reading: Silberschatz chapter 3 Additional Reading: Stallings chapter 2 EEL 602 1 Outline OS Services User Interfaces System Call OS Design OS Implementation System Structure

More information

Lesson 4: Software for embedding in a System- Part 1 ROM image, Programming Languages and Program models

Lesson 4: Software for embedding in a System- Part 1 ROM image, Programming Languages and Program models Lesson 4: Software for embedding in a System- Part 1 ROM image, Programming Languages and Program models 1 Outline ROM image Programming Languages Program models 2 1. ROM Image Final stage software also

More information

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc.

Chapter 2 TOPOLOGY SELECTION. SYS-ED/ Computer Education Techniques, Inc. Chapter 2 TOPOLOGY SELECTION SYS-ED/ Computer Education Techniques, Inc. Objectives You will learn: Topology selection criteria. Perform a comparison of topology selection criteria. WebSphere component

More information

Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic

Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic Testing Automation for Distributed Applications By Isabel Drost-Fromm, Software Engineer, Elastic The challenge When building distributed, large-scale applications, quality assurance (QA) gets increasingly

More information

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide

An Oracle White Paper July 2011. Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide Oracle Primavera Contract Management, Business Intelligence Publisher Edition-Sizing Guide An Oracle White Paper July 2011 1 Disclaimer The following is intended to outline our general product direction.

More information

SOA Success is Not a Matter of Luck

SOA Success is Not a Matter of Luck by Prasad Jayakumar, Technology Lead at Enterprise Solutions, Infosys Technologies Ltd SERVICE TECHNOLOGY MAGAZINE Issue L May 2011 Introduction There is nothing either good or bad, but thinking makes

More information

New Methodologies in Smart Card Security Design. Y.GRESSUS Methodology and Secure ASIC development manager, Bull CP8

New Methodologies in Smart Card Security Design. Y.GRESSUS Methodology and Secure ASIC development manager, Bull CP8 New Methodologies in Smart Card Security Design Y.GRESSUS Methodology and Secure ASIC development manager, Bull CP8 Japan Security Conference Page 2 Trends Opportunities New methodologies Summary Concurrent

More information

Abstraction and Information Hiding

Abstraction and Information Hiding Chapter 1: Programming Principles Object Oriented Analysis and Design Abstraction and information hiding Object oriented programming principles Unified Modeling Language Software life-cycle models Key

More information

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines

Chapter 3: Operating-System Structures. System Components Operating System Services System Calls System Programs System Structure Virtual Machines Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines Operating System Concepts 3.1 Common System Components

More information

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA

Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Automating Rich Internet Application Development for Enterprise Web 2.0 and SOA Enterprise Web 2.0 >>> FAST White Paper November 2006 Abstract Modern Rich Internet Applications for SOA have to cope with

More information

Developing SOA solutions using IBM SOA Foundation

Developing SOA solutions using IBM SOA Foundation Developing SOA solutions using IBM SOA Foundation Course materials may not be reproduced in whole or in part without the prior written permission of IBM. 4.0.3 4.0.3 Unit objectives After completing this

More information

Architecture Example Point-to-point wire

Architecture Example Point-to-point wire Class Announcements TIM 50 - Business Information Systems Lecture 10 Midterm Tuesday 5/5 Study guide posted Instructor: John Musacchio UC Santa Cruz Feb. 5, 2015 Time sharing Architecture Example Point-to-point

More information

Automation and Virtualization Increase Utilization and Efficiency of J2EE Applications

Automation and Virtualization Increase Utilization and Efficiency of J2EE Applications TECHNICAL WHITEPAPER Automation and Virtualization Increase Utilization and Efficiency of J2EE Applications Introduction Progressive IT departments have broadly adopted application servers and the Java

More information

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems

Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems Building the Internet of Things Jim Green - CTO, Data & Analytics Business Group, Cisco Systems Brian McCarson Sr. Principal Engineer & Sr. System Architect, Internet of Things Group, Intel Corp Mac Devine

More information

Operating System Structure

Operating System Structure CSE325 Principles of Operating Systems Operating System Structure David Duggan dduggan@sandia.gov January 27, 2011 A View of Operating System Services 1/26/2011 CSE325 - OS Structure 2 Operating System

More information

Realization of the High-density SaaS Infrastructure with a Fine-grained Multitenant Framework

Realization of the High-density SaaS Infrastructure with a Fine-grained Multitenant Framework Realization of the High-density SaaS Infrastructure with a Fine-grained Multitenant Framework SHIMAMURA Hisashi, SOEJIMA Kenji, KURODA Takayuki, NISHIMURA Shoji Abstract In achieving a SaaS-type cloud

More information

Chapter 2: Operating-System Structures

Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Chapter 2: Operating-System Structures Operating System Services User Operating System Interface System Calls Types of System Calls System Programs Operating System

More information

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS

CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS CHAPTER 1: OPERATING SYSTEM FUNDAMENTALS What is an operating? A collection of software modules to assist programmers in enhancing efficiency, flexibility, and robustness An Extended Machine from the users

More information

The SPES Methodology Modeling- and Analysis Techniques

The SPES Methodology Modeling- and Analysis Techniques The SPES Methodology Modeling- and Analysis Techniques Dr. Wolfgang Böhm Technische Universität München boehmw@in.tum.de Agenda SPES_XT Project Overview Some Basic Notions The SPES Methodology SPES_XT

More information

Managing Variability in Software Architectures 1 Felix Bachmann*

Managing Variability in Software Architectures 1 Felix Bachmann* Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie

More information

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC

Modernized and Maintainable Code. Frank Weil, Ph.D. UniqueSoft, LLC Modernized and Maintainable Code Frank Weil, Ph.D. UniqueSoft, LLC UniqueSoft is a provider of next-generation software development tools and services specializing in modernizing legacy software using

More information

Chapter 5 Cloud Resource Virtualization

Chapter 5 Cloud Resource Virtualization Chapter 5 Cloud Resource Virtualization Contents Virtualization. Layering and virtualization. Virtual machine monitor. Virtual machine. Performance and security isolation. Architectural support for virtualization.

More information

Software Decomposition. Software Architecture. What is Subsystem. Subsystem Decomposition into Layers. Partitions and Layers

Software Decomposition. Software Architecture. What is Subsystem. Subsystem Decomposition into Layers. Partitions and Layers Software Decomposition Software Architecture Software Decomposition Subsystem Partition Software Design Quality Coupling Cohesion 1 2 What is Subsystem Sample of Subsystem Decomposition Collection of software

More information

Hard Partitioning and Virtualization with Oracle Virtual Machine. An approach toward cost saving with Oracle Database licenses

Hard Partitioning and Virtualization with Oracle Virtual Machine. An approach toward cost saving with Oracle Database licenses Hard Partitioning and Virtualization with Oracle Virtual Machine An approach toward cost saving with Oracle Database licenses JANUARY 2013 Contents Introduction... 2 Hard Partitioning Concepts... 2 Oracle

More information

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper

Building Reliable, Scalable AR System Solutions. High-Availability. White Paper Building Reliable, Scalable Solutions High-Availability White Paper Introduction This paper will discuss the products, tools and strategies available for building reliable and scalable Action Request System

More information

Designing Real-Time and Embedded Systems with the COMET/UML method

Designing Real-Time and Embedded Systems with the COMET/UML method By Hassan Gomaa, Department of Information and Software Engineering, George Mason University. Designing Real-Time and Embedded Systems with the COMET/UML method Most object-oriented analysis and design

More information

Stock Trader System. Architecture Description

Stock Trader System. Architecture Description Stock Trader System Architecture Description Michael Stevens mike@mestevens.com http://www.mestevens.com Table of Contents 1. Purpose of Document 2 2. System Synopsis 2 3. Current Situation and Environment

More information

Active-Active and High Availability

Active-Active and High Availability Active-Active and High Availability Advanced Design and Setup Guide Perceptive Content Version: 7.0.x Written by: Product Knowledge, R&D Date: July 2015 2015 Perceptive Software. All rights reserved. Lexmark

More information

Oracle WebLogic Server 11g: Administration Essentials

Oracle WebLogic Server 11g: Administration Essentials Oracle University Contact Us: 1.800.529.0165 Oracle WebLogic Server 11g: Administration Essentials Duration: 5 Days What you will learn This Oracle WebLogic Server 11g: Administration Essentials training

More information

Oracle Database Support for Server Virtualization Updated December 7, 2009

<Insert Picture Here> Oracle Database Support for Server Virtualization Updated December 7, 2009 Oracle Database Support for Server Virtualization Updated December 7, 2009 Support Policy Server virtualization software allows multiple operating system instances to run on the same

More information

Tutorial on Client-Server Architecture

Tutorial on Client-Server Architecture Tutorial on Client-Server Architecture SEEM3430 Information Systems Analysis and Design Pengfei Liu Department of Systems Engineering and Engineering Management The Chinese University of Hong Kong March

More information

Customer Bank Account Management System Technical Specification Document

Customer Bank Account Management System Technical Specification Document Customer Bank Account Management System Technical Specification Document Technical Specification Document Page 1 of 15 Table of Contents Contents 1 Introduction 3 2 Design Overview 4 3 Topology Diagram.6

More information

Architectural Design

Architectural Design Software Engineering Architectural Design 1 Software architecture The design process for identifying the sub-systems making up a system and the framework for sub-system control and communication is architectural

More information

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture

Last Class: OS and Computer Architecture. Last Class: OS and Computer Architecture Last Class: OS and Computer Architecture System bus Network card CPU, memory, I/O devices, network card, system bus Lecture 3, page 1 Last Class: OS and Computer Architecture OS Service Protection Interrupts

More information

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server

Chapter 3. Database Environment - Objectives. Multi-user DBMS Architectures. Teleprocessing. File-Server Chapter 3 Database Architectures and the Web Transparencies Database Environment - Objectives The meaning of the client server architecture and the advantages of this type of architecture for a DBMS. The

More information

NetBeans IDE Field Guide

NetBeans IDE Field Guide NetBeans IDE Field Guide Copyright 2005 Sun Microsystems, Inc. All rights reserved. Table of Contents Introduction to J2EE Development in NetBeans IDE...1 Configuring the IDE for J2EE Development...2 Getting

More information

Operating Systems. Lecture2: System Calls, OS Structure

Operating Systems. Lecture2: System Calls, OS Structure Operating Systems Lecture2: System Calls, OS Structure System Calls Interface between the OS and user programs is defined by the set of system calls provided by OS Request to kernel Is like making a function

More information

Systems Software. Introduction to Information System Components. Chapter 1 Part 2 of 4 CA M S Mehta, FCA

Systems Software. Introduction to Information System Components. Chapter 1 Part 2 of 4 CA M S Mehta, FCA Systems Software Introduction to Information System Components Chapter 1 Part 2 of 4 CA M S Mehta, FCA 1 Systems Software Learning Objects Task Statements 1.1 Identify deployment of different components

More information

Simplifying Big Data Deployments in Cloud Environments with Mellanox Interconnects and QualiSystems Orchestration Solutions

Simplifying Big Data Deployments in Cloud Environments with Mellanox Interconnects and QualiSystems Orchestration Solutions Simplifying Big Data Deployments in Cloud Environments with Mellanox Interconnects and QualiSystems Orchestration Solutions 64% of organizations were investing or planning to invest on Big Data technology

More information

White Paper on NETWORK VIRTUALIZATION

White Paper on NETWORK VIRTUALIZATION White Paper on NETWORK VIRTUALIZATION INDEX 1. Introduction 2. Key features of Network Virtualization 3. Benefits of Network Virtualization 4. Architecture of Network Virtualization 5. Implementation Examples

More information

Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman. Chapter 10 Architectural Design

Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman. Chapter 10 Architectural Design Software Engineering: A Practitioner s s Approach, 6/e Roger Pressman Chapter 10 Architectural Design 1 Why Architecture? The architecture is not the operational software. Rather, it is a representation

More information

B.Sc (Computer Science) Database Management Systems UNIT-V

B.Sc (Computer Science) Database Management Systems UNIT-V 1 B.Sc (Computer Science) Database Management Systems UNIT-V Business Intelligence? Business intelligence is a term used to describe a comprehensive cohesive and integrated set of tools and process used

More information

Engr. 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 Engr. M. Fahad Khan Lecturer Software Engineering Department University Of Engineering & Technology Taxila Application Architectures Ref: Chapter 13 Software Engineering By Ian Sommerville, 7th Edition

More information

Design and Analysis of Content Management System Based on Factory Pattern

Design and Analysis of Content Management System Based on Factory Pattern Proceedings of the 7th International Conference on Innovation & Management 1527 Design and Analysis of Content Management System Based on Factory Pattern Yan Shu School of Computer Science and Technology,

More information

LinuxWorld Conference & Expo Server Farms and XML Web Services

LinuxWorld Conference & Expo Server Farms and XML Web Services LinuxWorld Conference & Expo Server Farms and XML Web Services Jorgen Thelin, CapeConnect Chief Architect PJ Murray, Product Manager Cape Clear Software Objectives What aspects must a developer be aware

More information

POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing. By: Chris Abbott

POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing. By: Chris Abbott POMPDs Make Better Hackers: Accounting for Uncertainty in Penetration Testing By: Chris Abbott Introduction What is penetration testing? Methodology for assessing network security, by generating and executing

More information

Robust Object Oriented System Analysis

Robust Object Oriented System Analysis Robust Object Oriented System Analysis Dr Jie Zhao, Dunstan Thomas Consulting Summary Uses cases are widely accepted as the best approach to capturing system requirements, in particular, functional requirements.

More information

OpenFlow Based Load Balancing

OpenFlow Based Load Balancing OpenFlow Based Load Balancing Hardeep Uppal and Dane Brandon University of Washington CSE561: Networking Project Report Abstract: In today s high-traffic internet, it is often desirable to have multiple

More information

DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2

DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2 1 DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2 2 LECTURE OUTLINE Data Models Three-Schema Architecture and Data Independence Database Languages and Interfaces The Database System Environment DBMS

More information

INTRODUCTION TO CLOUD MANAGEMENT

INTRODUCTION TO CLOUD MANAGEMENT CONFIGURING AND MANAGING A PRIVATE CLOUD WITH ORACLE ENTERPRISE MANAGER 12C Kai Yu, Dell Inc. INTRODUCTION TO CLOUD MANAGEMENT Oracle cloud supports several types of resource service models: Infrastructure

More information

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz

COSC 3351 Software Design. Recap for the first quiz. Edgar Gabriel. Spring 2008. For the 1 st Quiz COSC 3351 Software Design Recap for the first quiz Spring 2008 For the 1 st Quiz Three large topic areas: UML syntax and diagrams Software architectural styles Object oriented design principles A couple

More information

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications

JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS QUARTER 2 NETWORKING AND OPERATING SYSTEMS ESSENTIALS. Module 1 - Office Applications SOFTWARE ENGINEERING TRACK JAVA Technologies QUARTER 1 DESKTOP APPLICATIONS - ESSENTIALS Module 1 - Office Applications This subject enables users to acquire the necessary knowledge and skills to use Office

More information