ForeverSOA: Towards the Maintenance of Service-Oriented Architecture (SOA) Software
|
|
- Sophie Stevenson
- 8 years ago
- Views:
Transcription
1 ForeverSOA: Towards the Maintenance of Service-Oriented Architecture (SOA) Software Dionysis Athanasopoulos, PhD student In collaboration with A. Zarras, V. Issarny SQM 2009 Dept. of Computer Science, University of Ioannina, Greece
2 Agenda 2 1. Introduction 2. Conventional use of design principles in SOA 3. Refinement of design principles in SOA 4. Overview of ForeverSOA 5. Conclusions Future work
3 Introduction 3 Service-Oriented Architecture (SOA) is an architectural style that is the answer to the requirements for loosely-coupled distributed computing systems The basic architectural elements of SOA are the services Services are autonomous systems that have been developed independently from each other. SOA software is built by composing services
4 Introduction 4 Until now, state of the art research has focused on issues concerning the construction phase (Design, Implementation) of SOA We focus on the maintenance phase of SOA software
5 Introduction 5 Maintenance is even more important for SOA software due to: independent evolution of services variation in their quality (performance, availability, reliability)
6 Introduction 6 Fundamental design principles generally improve the quality of conventional Object-Oriented (OO) software... maintainability, in particular... OCP (Open Closed Principle), DIP (Dependency Inversion Principle), LSP (Liskov Substitution Principle),... The issue is whether we can apply them in realistic SOA maintenance scenarios?
7 Introduction 7 To address this issue: We examine the conventional use of the fundamental design principles in realistic SOA maintenance scenarios We discuss why this conventional use is not effective So, we propose the refined design principles such that their use in SOA becomes effective We sketch the ForeverSOA infrastructure which aims to facilitating the adoption of the refined principles
8 Agenda 8 1. Introduction 2. Conventional use of design principles in SOA 3. Refinement of design principles in SOA 4. Overview of ForeverSOA 5. Conclusions Future work
9 Design principles in OO 9 OCP: states that software should be open for extensions and closed to modifications Achieving OCP can rely on DIP & LSP principles DIP: states that higher level OO software elements should not depend on lower level software elements, they should depend on abstractions LSP: formalizes correctness criteria guaranteeing that software that uses elements of a particular type can further use elements of another type
10 Conventional use of principles 10 SOA development: 1. Service provider: 1. defines an abstraction element (service interface) for each software responsibility 2. develops a concrete implementation for every service interface hopefully with respect to LSP 2. Service client: develops, as suggested by DIP, the client software using references to service interfaces without depending on particular implementations
11 Conventional use of principles 11 Example: SOA client manipulates information about scientific publications It uses a Web search engine (e.g. Citeseer ) for publications that is exposed via a Web service interface public class ClientApplication { public static void main(string args[]){ CiteseerWSInterface ref = new CiteseerWSSOAPBindingStub(url); //. String publications = ref.cis(args[0]); } }
12 Conventional use of principles 12 A maintenance scenario: Problem: If the requirements of the SOA client are no longer satisfied by this Citeseer service implementation Necessity of maintenance public class ClientApplication { public static void main(string args[]){ CiteseerWSInterface ref = new CiteseerWSSOAPBindingStub(url); //. String publications = ref.cis(args[0]); } }
13 Conventional use of principles 13 A maintenance scenario: Solution: the Citeseer service provider must extend the implementation hierarchy with a new Citeseer service implementation Hypothetically, it is extended by the Citeseer provider
14 Conventional use of principles 14 Nothing should be changed into SOA client code except for url public class ClientApplication { public static void main(string args[]){ CiteseerWSInterface ref = new CiteseerWSSOAPBindingStub(url); //. //. String publications = ref.cis(args[0]); } } Is this solution via the conventional use of the principles practical?
15 Conventional use of principles 15 It is unrealistic for a SOA client to require from a service provider to develop a new service implementation Unrealistic development
16 In practise Typical Maintenance scenario: The same problem: If the requirements of SOA client are no longer satisfied by the Citeseer service implementation
17 In practise Typical Maintenance scenario: Solution: SOA client discovers another service that offers the same functionality via a different interface (e.g. Googlescholar)
18 In practise The changes into SOA client code will not be minimal since Citeseer, Googlescholar have different interfaces public class ClientApplication { public static void main(string args[]){ CiteseerWSInterface ref = new CiteseerWSSOAPBindingStub(url); //. String publications = ref.cis(args[0]); } } So, the conventional use of principles is not effective How can we refine the principles to deal with such realistic maintenance scenarios without code changes?
19 Agenda Introduction 2. Conventional use of design principles in SOA 3. Refinement of design principles in SOA 4. Overview of ForeverSOA 5. Conclusions Future work
20 Refinement of principles in SOA 20 Refined OCP: SOA software that uses a service can be extended towards using another service offering the same functionality possibly via a different interface The extension of SOA software should involve minimum modifications To achieve the refined OCP, we should refine DIP: SOA Client software should not depend on particular service interfaces but it should depend on abstractions beyond service interfaces
21 Refinement of principles in SOA 21 Typically, service abstractions beyond service interfaces aren t defined by the service providers Then, our challenge is to derive: A systematic reverse engineering process that extracts service abstractions out of existing services that offer the same functionality possibly via different interfaces This abstraction recovery process should respect LSP which must hold between the recovered abstractions and the service interfaces The objective of ForeverSOA is to facilitate this abstraction recovery process
22 Refinement of principles in SOA 22 Given the Citeseer & Googlescholar services, the recovery process should be able to extract a generic search engine interface The client should be developed with respect to the generic search engine public class ClientApplication { } public static void main(string args[]){ } SearchEngine ref = new SearchEngineSOAPBindingStub(url); //. String publications = ref.cis(args[0]);
23 Refinement of principles in SOA 23 Finally, an implementation of the generic search engine should be generated. This implementation should provide access to any of the two services This is a typical use of the adaptor design pattern public class ClientApplication { } public static void main(string args[]){ } SearchEngine ref = new SearchEngineSOAPBindingStub(url); //. String publications = ref.cis(args[0]);
24 Agenda Introduction 2. Conventional use of design principles in SOA 3. Refinement of design principles in SOA 4. Overview of ForeverSOA 5. Conclusions Future work
25 ForeverSOA infrastructure 25 Clustering mechanism: 1. Groups of similar services 2. Produces a recovered abstract interface for each group client application developer service provider Code generation mechanism: Produces an adaptor accessing the services that realize an abstract interface +discover service abstraction +publish service ForeverSOA Registry +manages Service Group 1 * * AbstractionRecovery / Clustering Mechanism Code Generation * Service 1 Service Abstraction +input Service * +input * Service Abstraction * +output Service Abstraction Adaptor * +input +output * * 1
26 ForeverSOA infrastructure 26 ForeverSOA Registry manages information about: 1. Available services 2. Client applications that use these services 3. Groups of services 4. Abstract interfaces for each group client application developer service provider +discover service abstraction ForeverSOA Registry +publish service +manages Service Group 1 * * AbstractionRecovery / Clustering Mechanism Code Generation * Service 1 Service Abstraction +input Service * +input * Service Abstraction * +output Service Abstraction Adaptor * +input +output * * 1
27 Agenda Introduction 2. Conventional use of design principles in SOA 3. Refinement of design principles in SOA 4. Overview of ForeverSOA 5. Conclusions Future work
28 Wrap-up 28 We showed that the conventional use of the design principles is insufficient to address maintainability in SOA We argued about the need to adapt/refine these principles to address realistic maintenance scenarios We proposed an approach that relies on a reverse engineering process to enable the adoption of the refined principles in the development of SOA
29 Future work 29 We are in the process of developing the main mechanisms of the ForeverSOA approach We also investigate the potential of employing further OO design principles in the context of SOA such as the Single Responsibility Principle (SPR) and the Interface Segregation Principle (ISP).
30 30 Questions?
31 31 Appendix
32 Liskov Substitution Principle (LSP) 32 In OO languages, if class B is a subtype of class A, then all member functions of B must return the same or narrower set of types as A; the return type is said to be covariant. the member functions of B must take the same or broader set of arguments compared with the member functions of A; the argument type is said to be contravariant. a precondition is a condition that must always be true just prior to the execution of some section of code. a postcondition is a condition that must always be true after the execution of some section of code.
ForeverSOA: Towards the Maintenance of Service Oriented Software
Author manuscript, published in "SQM 20 - Fifth CSMR International Workshop on Software Quality and Maintainability (20)" ForeverSOA: Towards the Maintenance of Service Oriented Software Dionysis Athanasopoulos
More informationForeverSOA: Towards the Maintenance of Service Oriented Software
ForeverSOA: Towards the Maintenance of Service Oriented Software Dionysis Athanasopoulos, Apostolos Zarras, Valérie Issarny To cite this version: Dionysis Athanasopoulos, Apostolos Zarras, Valérie Issarny.
More informationIngegneria del Software Corso di Laurea in Informatica per il Management. Object Oriented Principles
Ingegneria del Software Corso di Laurea in Informatica per il Management Object Oriented Principles Davide Rossi Dipartimento di Informatica Università di Bologna Design goal The goal of design-related
More informationDATA RECOVERY SOLUTIONS EXPERT DATA RECOVERY SOLUTIONS FOR ALL DATA LOSS SCENARIOS.
More information
Introduction to Object-Oriented Programming
Introduction to Object-Oriented Programming Programs and Methods Christopher Simpkins chris.simpkins@gatech.edu CS 1331 (Georgia Tech) Programs and Methods 1 / 8 The Anatomy of a Java Program It is customary
More informationCOSC 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 information9 Research Questions Resolved
217 9 Research Questions Resolved "All truths are easy to understand once they are discovered; the point is to discover them." Galileo Galilei. 9.1 Main Contributions In section 1.6 the thesis introduced
More informationThe Best Software Testing Arie Van Deursen TU Delft, 2011
Favorite Picks in Software Testing Arie van Deursen TU Delft @avandeursen Kickoff presentation Test Week Stabiplan, 2011 1 Outline 1. Background 2. Test Strategies 3. Test Week Objectives 4. Selected Strategies
More informationCHAPTER 10: WEB SERVICES
Chapter 10: Web Services CHAPTER 10: WEB SERVICES Objectives Introduction The objectives are: Provide an overview on how Microsoft Dynamics NAV supports Web services. Discuss historical integration options,
More informationKonzepte objektorientierter Programmierung
Konzepte objektorientierter Programmierung Prof. Dr. Peter Müller Werner Dietl Software Component Technology Exercises 3: Some More OO Languages Wintersemester 04/05 Agenda for Today 2 Homework Finish
More informationCHAPTER 1 INTRODUCTION
1 CHAPTER 1 INTRODUCTION Exploration is a process of discovery. In the database exploration process, an analyst executes a sequence of transformations over a collection of data structures to discover useful
More informationAn Automatic Reversible Transformation from Composite to Visitor in Java
An Automatic Reversible Transformation from Composite to Visitor in Java Akram To cite this version: Akram. An Automatic Reversible Transformation from Composite to Visitor in Java. CIEL 2012, P. Collet,
More informationTraceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development
Traceability Patterns: An Approach to Requirement-Component Traceability in Agile Software Development ARBI GHAZARIAN University of Toronto Department of Computer Science 10 King s College Road, Toronto,
More informationDesigning an Enterprise Application Framework for Service-Oriented Architecture 1
Designing an Enterprise Application Framework for Service-Oriented Architecture 1 Shyam Kumar Doddavula, Sandeep Karamongikar Abstract This article is an attempt to present an approach for transforming
More informationJava CPD (I) Frans Coenen Department of Computer Science
Java CPD (I) Frans Coenen Department of Computer Science Content Session 1, 12:45-14:30 (First Java Programme, Inheritance, Arithmetic) Session 2, 14:45-16:45 (Input and Programme Constructs) Materials
More informationBusiness Process Management Enabled by SOA
Business Process Management Enabled by SOA Jyväskylä 8.5.2007 Kimmo Kaskikallio IT Architect IBM Software Brands Five middleware product lines designed to work together Service-Oriented Architecture (SOA)
More informationAgent-Oriented Software Engineering
ID2209 Distributed Artificial Intelligence and Intelligent Agents Agent-Oriented Software Engineering Mihhail Matskin: www.ict.kth.se/courses/id2209 Autumn 2015 Lecture Outline 1. When is an agent-based
More information1.. This UI allows the performance of the business process, for instance, on an ecommerce system buy a book.
* ** Today s organization increasingly prompted to integrate their business processes and to automate the largest portion possible of them. A common term used to reflect the automation of these processes
More informationAutomatic generation of fully-executable code from the Domain tier of UML diagrams
Abstract. Automatic generation of fully-executable code from the Domain tier of UML diagrams Macario Polo, Agustín Mayoral, Juan Ángel Gómez and Mario Piattini Alarcos Group - Department of Computer Science
More informationSemantic Description of Distributed Business Processes
Semantic Description of Distributed Business Processes Authors: S. Agarwal, S. Rudolph, A. Abecker Presenter: Veli Bicer FZI Forschungszentrum Informatik, Karlsruhe Outline Motivation Formalism for Modeling
More informationThe Java Series. Java Essentials I What is Java? Basic Language Constructs. Java Essentials I. What is Java?. Basic Language Constructs Slide 1
The Java Series Java Essentials I What is Java? Basic Language Constructs Slide 1 What is Java? A general purpose Object Oriented programming language. Created by Sun Microsystems. It s a general purpose
More informationFederal Enterprise Architecture and Service-Oriented Architecture
Federal Enterprise Architecture and Service-Oriented Architecture Concepts and Synergies Melvin Greer Chief Strategist, SOA / Cloud Computing Certified Enterprise Architect Copyright August 19, 2010 2010
More informationA Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles
A Comparison of Service-oriented, Resource-oriented, and Object-oriented Architecture Styles Jørgen Thelin Chief Scientist Cape Clear Software Inc. Abstract The three common software architecture styles
More informationRealizing business flexibility through integrated SOA policy management.
SOA policy management White paper April 2009 Realizing business flexibility through integrated How integrated management supports business flexibility, consistency and accountability John Falkl, distinguished
More informationHow To Create A Visual Analytics Tool
W H I T E P A P E R Visual Analytics for the Masses 1 State of Visual Analytics Visual analytics, in the field of business intelligence, is the integration of data visualization and interactive visual
More informationMyths About Service-Oriented Architecture Demystifying SOA. producers can coexist, and still have no dependence on each other.
WSJ: SOA Myths About Service-Oriented Architecture Demystifying SOA Service-oriented architecture (SOA) refers to an architectural solution that creates an environment in which services, service consumers,
More informationHow To Design Software
The Software Development Life Cycle: An Overview Presented by Maxwell Drew and Dan Kaiser Southwest State University Computer Science Program Last Time The design process and design methods Design strategies
More informationSystems Integration: Co C mp m onent- t bas a e s d s o s ftw ft a w r a e r e ngin i eeri r n i g
Systems Integration: Component-based software engineering Objectives To explain that CBSE is concerned with developing standardised components and composing these into applications To describe components
More informationA Generic Transcoding Tool for Making Web Applications Adaptive
A Generic Transcoding Tool for Making Applications Adaptive Zoltán Fiala 1, Geert-Jan Houben 2 1 Technische Universität Dresden Mommsenstr. 13, D-01062, Dresden, Germany zoltan.fiala@inf.tu-dresden.de
More informationAgenda. What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism
Polymorphism 1 Agenda What is and Why Polymorphism? Examples of Polymorphism in Java programs 3 forms of Polymorphism 2 What is & Why Polymorphism? 3 What is Polymorphism? Generally, polymorphism refers
More informationFrom Business Process Models to Use Case Models
: A systematic approach Estrela Ferreira da Cruz, Ricardo Machado, Maribel Santos Universidade do Minho, Portugal EEWC, 7 May 2014 Agenda: Contextualization Motivation Approach From BPMN model to use case
More informationBusiness-Driven Software Engineering Lecture 3 Foundations of Processes
Business-Driven Software Engineering Lecture 3 Foundations of Processes Jochen Küster jku@zurich.ibm.com Agenda Introduction and Background Process Modeling Foundations Activities and Process Models Summary
More informationA Reference Architecture for Self-organizing Service-oriented Computing
A Reference Architecture for Self-organizing Service-oriented Computing Lei Liu, Stefan Thanheiser, Hartmut Schmeck Institute for Applied Informatics und Formal Description Methods (AIFB) Karlsruhe Institute
More informationOn the Relation between Design Contracts and Errors: A Software Development Strategy
On the Relation between Design Contracts and Errors: A Software Development Strategy Eivind J. Nordby, Martin Blom, Anna Brunstrom Computer Science, Karlstad University SE-651 88 Karlstad, Sweden {Eivind.Nordby,
More informationIBM Rational Rapid Developer Components & Web Services
A Technical How-to Guide for Creating Components and Web Services in Rational Rapid Developer June, 2003 Rev. 1.00 IBM Rational Rapid Developer Glenn A. Webster Staff Technical Writer Executive Summary
More informationMore on Objects and Classes
Software and Programming I More on Objects and Classes Roman Kontchakov Birkbeck, University of London Outline Object References Class Variables and Methods Packages Testing a Class Discovering Classes
More informationService-Oriented Computing: Service Foundations
Service-Oriented Computing: Service Foundations Marco Aiello and Schahram Dustdar TUWien {aiellom,dustdar}@infosys.tuwien.ac.at Participating in the discussion: Paco Curbera, Flavio De Paoli, Wolfgang
More informationCS314: Course Summary
CS314: Course Summary Prof. Robert B. France Dept. of Computer Science Colorado State University Robert B. France 1 1 Software Development Issues Explored - 1 Software engineering basics Why do we need
More informationIndex. Registry Report
2013.1-12 Registry Report 01 02 03 06 19 21 22 23 24 25 26 27 28 29 31 34 35 Index Registry Report 02 Registry Report Registry Report 03 04 Registry Report Registry Report 05 06 Registry Report Registry
More informationPatterns for Business Object Model Integration in Process-Driven and Service-Oriented Architectures
Patterns for Business Object Model Integration in Process-Driven and Service-Oriented Architectures Carsten Hentrich IBM Business Consulting Services, SerCon GmbH c/o IBM Deutschland GmbH Hechtsheimer
More informationBusiness Process Lines to develop Service-Oriented Architectures through the the Software Product Lines paradigm
SOAPL 2008 Limerick, 1 8 th September Business Process Lines to develop Service-Oriented Architectures through the the Software Product Lines paradigm Nicola Boffoli, Danilo Caivano, Daniela Castelluccia,
More informationWelcome to the AITP NCC 2000 Java Competition in Tampa, Florida.
Welcome to the AITP NCC 2000 Java Competition in Tampa, Florida. Context: Big Tex s Taste of Texas is a purveyor of fine Texican food throughout the United States. Recently, he has been getting orders
More informationSoftware Specification and Architecture 2IW80
Software Specification and Architecture 2IW80 Julien Schmaltz (slides partly from M. Mousavi and A. Serebrenik) Lecture 03: Use Cases Before we start The system shall give access to the database to any
More informationCourse Title: Software Development
Course Title: Software Development Unit: Customer Service Content Standard(s) and Depth of 1. Analyze customer software needs and system requirements to design an information technology-based project plan.
More informationFormal Engineering for Industrial Software Development
Shaoying Liu Formal Engineering for Industrial Software Development Using the SOFL Method With 90 Figures and 30 Tables Springer Contents Introduction 1 1.1 Software Life Cycle... 2 1.2 The Problem 4 1.3
More informationCLUSTER COMPUTING TODAY
David Chappell June 2011 CLUSTER COMPUTING TODAY WHAT S CHANGED AND WHY IT MATTERS Sponsored by Microsoft Corporation Copyright 2011 Chappell & Associates One way to make an application run faster is to
More informationService Oriented Architecture
Service Oriented Architecture Charlie Abela Department of Artificial Intelligence charlie.abela@um.edu.mt Last Lecture Web Ontology Language Problems? CSA 3210 Service Oriented Architecture 2 Lecture Outline
More informationApplication Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability
White Paper Application Centric Infrastructure Object-Oriented Data Model: Gain Advanced Network Control and Programmability What You Will Learn This document discusses application centric infrastructure
More informationSoftware Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.
Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the
More informationMethods for the specification and verification of business processes MPB (6 cfu, 295AA)
Methods for the specification and verification of business processes MPB (6 cfu, 295AA) Roberto Bruni http://www.di.unipi.it/~bruni 05 - Evolution 1 Object Overview of the evolution of (Information Systems
More informationSoftware Engineering II
Software Engineering II Dr. Rami Bahsoon School of Computer Science University of Birmingham r.bahsoon@cs.bham.ac.uk Software Engineering II - Dr R Bahsoon Introduction to Cloud and SOA 1 Service-oriented
More informationBusiness Process Management Tampereen Teknillinen Yliopisto
Business Process Management Tampereen Teknillinen Yliopisto 31.10.2007 Kimmo Kaskikallio IT Architect IBM Software Group IBM SOA 25.10.2007 Kimmo Kaskikallio IT Architect IBM Software Group Service Oriented
More informationTopics. Introduction. Java History CS 146. Introduction to Programming and Algorithms Module 1. Module Objectives
Introduction to Programming and Algorithms Module 1 CS 146 Sam Houston State University Dr. Tim McGuire Module Objectives To understand: the necessity of programming, differences between hardware and software,
More informationSix Strategies for Building High Performance SOA Applications
Six Strategies for Building High Performance SOA Applications Uwe Breitenbücher, Oliver Kopp, Frank Leymann, Michael Reiter, Dieter Roller, and Tobias Unger University of Stuttgart, Institute of Architecture
More informationSOMA, RUP and RMC: the right combination for Service Oriented Architecture
SOMA, RUP and RMC: the right combination for Service Oriented Architecture WebSphere User Group, Bedfont, 4th March, 2008 Keith Mantell Senior Solution Architect IBM Rational keith_mantell@uk.ibm.com March
More informationService Oriented Architectures in the Delivery of Capability
Service Oriented Architectures in the Delivery of Capability Abstract Duncan Russell, Jie Xu {duncanr jxu}@comp.leeds.ac.uk School of Computing, University of Leeds, UK Service oriented architecture (SOA)
More informationA Dynamic, Runtime-Extensible, Client-Managed Service Framework
A Dynamic, Runtime-Extensible, Client-Managed Service Framework D. Parry G. Wells, P. Clayton Computer Science Department Rhodes University Grahamstown, 6140 Email: dom@rucus.ru.ac.za Tel: (046) 603 8640
More informationService-Oriented Architecture (SOA) vs. Component Based Architecture. Helmut Petritsch
Service-Oriented Architecture (SOA) vs. Component Based Architecture Helmut Petritsch Index Introduction... 3 Definitions... 3 Component-based architecture:... 3 Service-oriented architecture (SOA)...
More informationTesting Web Services Today and Tomorrow
Copyright Rational Software 2002 http://www.therationaledge.com/content/oct_02/m_webtesting_jb.jsp Testing Web Services Today and Tomorrow by Jason Bloomberg Senior Analyst ZapThink LLC With all the attention
More informationService-Oriented Architectures
Architectures Computing & 2009-11-06 Architectures Computing & SERVICE-ORIENTED COMPUTING (SOC) A new computing paradigm revolving around the concept of software as a service Assumes that entire systems
More informationCopyright 2009 TIBCO Software Inc. All rights reserved
BPM in a SOA Environment Paul C. Brown Principal Software Architect TIBCO Software Inc. 1 Goal Understand the architectural relationships between www.devoxx.com BPM and dsoa and their patterns of interaction.
More informationService Oriented Architecture
Service Oriented Architecture Service Oriented Analysis and Design (SOAD) in Practice Part 4 Adomas Svirskas Vilnius University October 2005 Agenda Service identification and definition Business process
More information- ' +. /0 ( 1 +. ' &+. /"0 &1,
!"# $% &'()*++, - ' +. /0 ( 1 +. ' &+. /"0 &1,, +. 2"! public class Essai static public void main(string[] args) System.out.println("Un essai..."); System.out.println(un_calcul.somme(4,5));! 34/0- public
More informationContents. 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 informationRequirements Engineering for Web Applications
Web Engineering Requirements Engineering for Web Applications Copyright 2013 Ioan Toma & Srdjan Komazec 1 What is the course structure? # Date Title 1 5 th March Web Engineering Introduction and Overview
More informationObject Oriented Software Design - I
Object Oriented Software Design - I Object Oriented Design Principles Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2011 G. Lipari (Scuola Superiore Sant Anna)
More informationPhases, Activities, and Work Products. Object-Oriented Software Development. Project Management. Requirements Gathering
Object-Oriented Software Development What is Object-Oriented Development Object-Oriented vs. Traditional Development An Object-Oriented Development Framework Phases, Activities, and Work Products Phases,
More informationCSCI 5828 Spring 2010 Foundations of Software Engineering. - Arpit Sud
CSCI 5828 Spring 2010 Foundations of Software Engineering - Arpit Sud 1 Agenda What is it? Why to use it? When to use it? How to implement it? Where not to apply it? 2 Service oriented Architecture 3 What
More informationService-Oriented Computing and Service-Oriented Architecture
Service-Oriented Computing and Service-Oriented Architecture Week 3 Lecture 5 M. Ali Babar Lecture Outline Service-Oriented Computing (SOC) Service-Oriented Architecture (SOA) Designing service-based systems
More informationSoftware Engineering Techniques
Software Engineering Techniques Low level design issues for programming-in-the-large. Software Quality Design by contract Pre- and post conditions Class invariants Ten do Ten do nots Another type of summary
More informationvcloud Air Platform Programmer's Guide
vcloud Air Platform Programmer's Guide vcloud Air OnDemand 5.7 This document supports the version of each product listed and supports all subsequent versions until the document is replaced by a new edition.
More informationJava: Learning to Program with Robots. Chapter 11: Building Quality Software
Java: Learning to Program with Robots Chapter 11: Building Quality Software Chapter Objectives After studying this chapter, you should be able to: Identify characteristics of quality software, both from
More informationA Comparison of SOA Methodologies Analysis & Design Phases
202 A Comparison of SOA Methodologies Analysis & Design Phases Sandra SVANIDZAITĖ Institute of Mathematics and Informatics, Vilnius University Abstract. Service oriented computing is a new software engineering
More informationInheritance, overloading and overriding
Inheritance, overloading and overriding Recall with inheritance the behavior and data associated with the child classes are always an extension of the behavior and data associated with the parent class
More informationVariability in Service-Oriented Systems: An Analysis of Existing Approaches
Variability in -Oriented Systems: An Analysis of Existing Approaches Holger Eichelberger and Christian Kröher and Klaus Schmid 1 Software Systems Engineering, Institute of Computer Science, University
More informationBasic Java Constructs and Data Types Nuts and Bolts. Looking into Specific Differences and Enhancements in Java compared to C
Basic Java Constructs and Data Types Nuts and Bolts Looking into Specific Differences and Enhancements in Java compared to C 1 Contents Hello World Program Statements Explained Java Program Structure in
More informationCombining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery
Combining SAWSDL, OWL DL and UDDI for Semantically Enhanced Web Service Discovery Dimitrios Kourtesis, Iraklis Paraskakis SEERC South East European Research Centre, Greece Research centre of the University
More informationThe Service Revolution software engineering without programming languages
The Service Revolution software engineering without programming languages Gustavo Alonso Institute for Pervasive Computing Department of Computer Science Swiss Federal Institute of Technology (ETH Zurich)
More informationObject-Oriented Programming in Java
CSCI/CMPE 3326 Object-Oriented Programming in Java Class, object, member field and method, final constant, format specifier, file I/O Dongchul Kim Department of Computer Science University of Texas Rio
More informationGlossary of Object Oriented Terms
Appendix E Glossary of Object Oriented Terms abstract class: A class primarily intended to define an instance, but can not be instantiated without additional methods. abstract data type: An abstraction
More informationService Oriented Architectures
8 Service Oriented Architectures Gustavo Alonso Computer Science Department Swiss Federal Institute of Technology (ETHZ) alonso@inf.ethz.ch http://www.iks.inf.ethz.ch/ The context for SOA A bit of history
More informationpublic void creditaccount(string accountnumber, float amount) { this.accounts.get(accountnumber).credit(amount); }
package bank; //... public class Bank { private Map accounts; public Bank() { this.accounts = new HashMap(); public void addaccount(bankaccount account) { this.accounts.put(account.getnumber(),
More informationSemantic Transformation of Web Services
Semantic Transformation of Web Services David Bell, Sergio de Cesare, and Mark Lycett Brunel University, Uxbridge, Middlesex UB8 3PH, United Kingdom {david.bell, sergio.decesare, mark.lycett}@brunel.ac.uk
More information09336863931 : provid.ir
provid.ir 09336863931 : NET Architecture Core CSharp o Variable o Variable Scope o Type Inference o Namespaces o Preprocessor Directives Statements and Flow of Execution o If Statement o Switch Statement
More informationDesigning Internet-Based Software
Designing Internet-Based Software Steven P. Reiss Department of Computer Science Brown University Providence, RI. 02912 spr@cs.brown.edu Abstract Next-generation software is going to be Internet-based.
More informationDesign with Reuse. Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1
Design with Reuse Building software from reusable components. Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 14 Slide 1 Objectives To explain the benefits of software reuse and some reuse
More informationChapter 24 - Quality Management. Lecture 1. Chapter 24 Quality management
Chapter 24 - Quality Management Lecture 1 1 Topics covered Software quality Software standards Reviews and inspections Software measurement and metrics 2 Software quality management Concerned with ensuring
More informationEvolution of Web Applications with Aspect-Oriented Design Patterns
Evolution of Web Applications with Aspect-Oriented Design Patterns Michal Bebjak 1, Valentino Vranić 1, and Peter Dolog 2 1 Institute of Informatics and Software Engineering Faculty of Informatics and
More informationIntroduction to Programming
Introduction to Programming Lecturer: Steve Maybank Department of Computer Science and Information Systems sjmaybank@dcs.bbk.ac.uk Spring 2015 Week 2b: Review of Week 1, Variables 16 January 2015 Birkbeck
More informationOracle WebLogic Server
Oracle WebLogic Server Monitoring and Managing with the Java EE Management APIs 10g Release 3 (10.3) July 2008 Oracle WebLogic Server Monitoring and Managing with the Java EE Management APIs, 10g Release
More informationHochschule Esslingen University of Applied Sciences
Hochschule Esslingen University of Applied Sciences Campus Göppingen Campus Hilltop Faculty of Engineering Management Faculty of Information Technology - English Lectures - English Lectures Core Courses:
More informationFine-grained Metrics of Cohesion Lack for Service Interfaces
011 IEEE International Conference on Web Services Fine-grained Metrics of Cohesion Lack for Service Interfaces Dionysis Athanasopoulos Dept. of Computer Science - Univ. of Ioannina, Greece INRIA-Paris-Rocquencourt,
More informationIntroduction to Object-Oriented and Object-Relational Database Systems
, Professor Uppsala DataBase Laboratory Dept. of Information Technology http://www.csd.uu.se/~udbl Extended ER schema Introduction to Object-Oriented and Object-Relational Database Systems 1 Database Design
More informationBUSINESS ARCHITECTURE MEETS STRATEGIC PLANNING. 9/16/2014 Austin, TX
BUSINESS ARCHITECTURE MEETS STRATEGIC PLANNING 9/16/2014 Austin, TX AGENDA Purpose and scope of workgroup Introduction of panel members Overview of BIZBOK content Presentation and discussion of key issues
More informationSoftware development life cycle. Software Engineering - II ITNP92 - Object Oriented Software Design. Requirements. Requirements. Dr Andrea Bracciali
Software development life cycle Software life cycle: Software Engineering - II ITNP92 - Object Oriented Software Design Dr Andrea Bracciali Module Co-ordinator 4B86 abb@cs.stir.ac.uk Spring 2014 (elicitation)
More informationWeb Services Integration Case Study - Housing
SUNGARD SUMMIT 2007 sungardsummit.com 1 Web Services Integration Case Study - Housing Presented by: Tom Chamberlin, Suresh Chellapilla, Richard Moon SunGard Higher Education March 21, 2007 A Community
More informationQuality of Web Usability Evaluation Methods: an empirical study on MiLE+
Quality of Web Usability Evaluation Methods: an empirical study on MiLE+ Davide Bolchini University of Lugano (Switzerland) Franca Garzotto Politecnico di Milano (Italy) Outline Motivation Goals MiLE+
More informationImplementing the CIDOC CRM with a relational database
MCN Spectra. 24 (1), Spring 1999 Implementing the CIDOC CRM with a relational database Introduction The CIDOC Conceptual Reference Model (CRM) is an object oriented semantic reference model for cultural
More informationAP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities
AP Computer Science A - Syllabus Overview of AP Computer Science A Computer Facilities The classroom is set up like a traditional classroom on the left side of the room. This is where I will conduct my
More information