Linking Object-Oriented Conceptual Modeling with Object-Oriented Implementation in Java
|
|
- Gwenda Hardy
- 8 years ago
- Views:
Transcription
1 Linking Object-Oriented Conceptual Modeling with Object-Oriented Implementation in Java Oscar Pastor, Emilio Insfrán, Vicente Pelechano, Susana Ramírez Departament de Sistemes Informàtics i Computació Universitat Politècnica de València Camí de Vera s/n Valencia (Spain) {opastor einsfran pele}@dsic.upv.es Abstract Nowadays, if we want to obtain a sound and correct final software product it is very important to be able to properly join modern OO programming environments, which are built for the new Internet architectures, with the OO methodologies produced over the last few years in order to deal properly with the Conceptual Modeling process. Our contribution to this objective is the OO-Method [Pas96] proposal. OO- Method is an OO Methodology that allows analysts to introduce the relevant system information by means of a set of graphical models to obtain the conceptual model through a requirement collection phase, so that an OO formal specification in OASIS [Pas95] can be generated at any given moment. This formal specification acts as a high-level system repository. Furthermore, a Java software prototype, which is functionally equivalent to the OASIS specification, is also generated in an automated way. This is achieved by defining an execution model that gives the pattern to obtain a concrete implementation in the selected target software development environment. A CASE workbench [Pas97] supports the methodology. 1. Introduction Software technology has undergone, over the last few years, considerable transformation. One of the main reasons for this transformation is the emergence of the object-oriented (OO) model as a software production paradigm that covers all the traditional analysis, design and implementation steps. We have OO methodologies [Boo94, Col94, Jac92, Rum95], OO databases, OO programming languages, etc. However, we consider that there is still not a clear understanding of what an object is. Or, better explained, everyone understands perfectly what his/her objects are. The problems come from the fact that often objects in conceptual modeling are not the same as in programming or database environments. Consequently, ambiguities appear everywhere. The OO approach is still a loosely defined term, even if some salient
2 features constitute a minimum basis (complex objects, object identity, methods, encapsulation, inheritance) The source of this confusion can be found in the lack of a standard and universal formal approach for the OO model. Many attempts have been made in the OO logic area [Jun91, Kif96] and research continues. OO logic attempts to provide a unified logical formalism for modeling objects and other aspects of the OO paradigm [Dub94, Har94]. However, the situation reached with the relational model, from the formal point of view, has not yet been reached in the OO model. In this context, Inter/Intranet architectures and web environments are starting to be widely used, and this has been announced as a software computing revolution. The common software development environment for such an environment is claimed to be a Java-based one. Of course, Java [Arn96,Gos95,Kra95,Lem96,Tit95] is presented as an OO programming language. At the same time, continuous efforts are being made in the area of OO conceptual modeling, especially in terms of OO methodologies that have their corresponding CASE workbench [Boo97,Pas97] in order to provide reliable and productive software production environments. The lack of a precise connection between the conceptual modeling world and the software development tools in web environments is, in our opinion, one of the most interesting problems. We have to close this gap to be able to properly design and implement organizational systems [Fri90] using three-tiered architectures based on simple and easy-to-use client stations, web servers and database servers. Our contribution to this state of the art is presented in this paper. With our OO- Method proposal, we provide an OO methodology that covers the phases of Analysis
3 and Design, obtaining a formal specification in a formal and OO specification language called OASIS. It acts as a high-level data dictionary, where all the relevant system information is captured. A Java prototype, including both static and dynamic properties, is obtained in an automated way starting from the OASIS specification. The static properties are represented in a relational database schema and the dynamic properties are represented by generating Java applets and web interfaces that include the dynamic behaviour of the component system classes. The main features of this approach are the following: 1. The formal system specification is obtained in an automated way from the graphical information introduced during the OO-Method analysis process. 2. The Java implementation is also obtained in an automated way from the formal system specification. This is done implementing a precise mapping between formal specification concepts and Java components. We have divided the paper into the following sections: after the introduction, in section 2, we present the most important OO-Method features. In section 3, we give a quick overview on the actual proposals related to Java development environments. Next, in section 4, we explain how the OO-Method analysis models are translated to a Java environment. This is done by determining the exact architecture of the concrete execution model implementation, developed in Java, which is attached to the conceptual model (built in the OO-Method analysis step). We finish this paper with conclusions and a list of references. 2. The OO-Method Proposal
4 OO-Method is an Object-Oriented Software Production Methodology based on two essential models: the conceptual model and the execution model. The software production process in OO-Method starts with the conceptual modeling step where we have to determine the relevant system properties without being worried about any implementation details. Once we have an appropriate system description, a well-defined execution model determines all the implementation-dependent properties of the final software product in terms of user interface, access control, service activation, etc. The conceptual model describes the Information System within a well-defined OO framework using three complementary point of views: Object Model: is a graphical model where system classes including attributes, services and relationships (aggregation and inheritance) are defined. Additionally, agent relationships are introduced to specify who can activate each class service. Dynamic Model: is another graphical model to specify valid object life cycles and interobjectual interaction. We use: State Transition Diagrams to describe correct behaviour by establishing valid object life cycles. By valid life, we mean a right sequence of states that characterizes the correct behaviour of the objects for every class. Object Interaction Diagram: represents interobjectual interactions. We define two basic interactions: Triggers, which are object services that are activated in an automated way when a condition is satisfied.
5 Global interactions, which are transactions involving services of different objects. Interobjectual transactions can be defined with these global interactions. Functional Model: is used to capture semantics attached to any change of an object state as a consequence of an event occurrence. We specify declaratively how every event changes the object state depending on the involved event arguments (if any) and object s current state. We give a clear and simple strategy (classification of attributes [Pas96]) for dealing with the introduction of the necessary information. This is a contribution of this method that let us to be able to generate a complete OASIS specification in an automated way. From these three models, a corresponding formal and OO OASIS [Pas95] specification is obtained using a well-defined translation strategy. The resultant OASIS specification acts as a complete system repository where all the relevant properties of the component classes are included. Once all the relevant system information has been collected, the execution model accurately states a pattern used to implement object properties in any target software development environment. The phases of the methodology can be seen in Figure 1. At this point, we give an abstract view of an execution model for dealing with the task of implementing the conceptual model. According to the execution model, a prototype, which is functionally equivalent to the OASIS specification, is built in an automated way. The code generation strategy is independent of any concrete target development environment.
6 A CASE Tool [Pas97] that provides an operational environment that simplifies the analysis, design and implementation of Information Systems from an object-oriented perspective supports OO-Method. The contribution of this CASE environment is its ability to generate code in well-known industrial software development environments (Java, Visual C++, Delphi, Visual Basic and PowerBuilder) from the system specification. It constitutes an operational approach to the ideas of the automated programming paradigm [Bal83]: collection of system information properties, automated generation of a formal OO system specification, and a complete (including static and dynamics) software prototype which is functionally equivalent to the quoted system specification. OO-Method Conceptual Model Dynamic Model Object Model Functional Model Automated Translation Execution Model OASIS Automated Translation PowerBuilder RDB Java RDB Visual C++ RDB Delphi RDB Figure 1. Phases of OO-Method. 3. Java as a Software Development Environment Nowadays the Internet and Web have become the new frontier for application developers. In this context, Java is playing an important role due to its promising features: architecture independence, portability, multithreading, soundness, security and so on. That means that new needs arise: Java tools, methodologies, CASE tools supporting Java code generation, etc.
7 Most of the products developed in this area are RAD-oriented, visual development tools (Symantec s Café, Borland s Latté, Visual J++, IBM s Visual Age for Java, etc.). In the methodology field there are some well-known analysis/design CASE tools for example Rational s ROSE/Java, Platinum s Paradigm Plus, and Forté that provide the developers with limited support to fully implement Internet/Intranet applications. These proposals share a common weakness: when the development step is reached, the conceptual modeling efforts are unclear, mainly because it is not possible to produce an accurate code that is functionally equivalent to the specification of the system requirements. We should be able to produce code which includes statics and dynamics in an interactive way from the very beginning of the requirement specification step, and not generate only static templates for the component system classes as most OO CASE tools do. OO-Method solves these problems allowing analysts and designers to build conceptual models of information systems following a methodology that is oriented to generating Internet/Intranet applications based on Java in an automated way. 4. Implementing an OO Conceptual Model in a Java Environment In this section, we explain how to implement an OO Conceptual Model in an Internet/Intranet development environment. We use Java as a programming language and a relational database [Pas97-2] as a persistent object repository as illustrated in Figure 2. For this purpose OO-Method uses an abstract execution model based on the conceptual model. This execution model is used to generate a sound and robust implementation of a system specification in any target environment. The generation process is carried out binding the execution model and the specific features of the selected programming environment, in this case Java. First, we present the basic
8 features of the OO-Method execution model and then we explain the actual Java implementation of this execution model by showing the set of Java classes that make up the prototype. User Browser enabled for Java (Hot Java, Comunicator, Explorer, Mosaic,...) World Wide Web IBM Compatible Web Server Relational Database HTML Documents & Applet element Applets Relational DataBase Server JDBC CASE Tool Generates Java Applets HTML Documents Relational Tables Figure 2.Global Architecture of the proposed Internet/Intranet prototype in Java. 4.1 The OO-Method Abstract Execution Model The OO-Method execution model explains a pattern to be used to implement all the system properties collected during the analysis phase, in any target software development environment. The code generation process will use this execution model as a guide in order to implement the conceptual model in the selected target environment. This execution model has three main steps:
9 1. access control: first, as users are also objects, the object logging in the system has to be identified as a member of the corresponding object society. 2. object system view: once an object is connected, it must have a clear representation of which classes it can access. In other words, its object society view must be clearly stated, exactly determining the set of object attributes and services that it can see or activate. 3. service activation: finally, after being connected and having a clear object system view, an object will be able to activate any available service in its worldview. Among these services, we will have event or transaction served by other objects or system observations (object queries). Any service execution is characterized as the following sequence of actions: 1. object identification: as a first step, the object acting as server has to be identified. This object existence is an implicit condition for executing any service unless if we are dealing with a new 1 event. At this point, the object attribute values (those that characterize its current state) are retrieved. 2. introduction of event arguments: the rest of the arguments of the event being activated must be introduced. 3. state transition correctness: we have to verify in the object State Transition Diagram (STD) that a valid state transition exists for the selected service in the current object state. 4. precondition satisfaction: the precondition associated to the service that is going to be executed must hold. If not, an exception will arise, informing that the service cannot be activated because its precondition has been violated.
10 5. valuation fulfilment: once the precondition has been verified, the induced event modifications are effective in the selected persistent object system. 6. integrity constraint checking in the new state: to assure that the service activation leads the object to a valid state, we must verify that the (static and dynamic) integrity constraints hold in this final resulting state. 7. trigger relationships test: after a valid change of state, and as a final action, the set of rules condition-action that represent the internal system activity have to be verified. If any of them hold, the corresponding service activation will be triggered. It is the analyst s responsibility to assure the termination and confluence of such triggers. The previous steps guide the implementation of any program to assure the functional equivalence between the object system description collected in the conceptual model and its reification in a software-programming environment according to the execution model. 4.2 An Architecture for implementing the Execution Model in Java The strategy adopted in our work is based on the development of Java applets that implement the full functionality of the system modeled. The architecture of an OO implementation in Java that corresponds to an OO Conceptual Model is shown in Figure 3. The components are the following classes: System class Menu_Page class Parameter_Request class
11 set of Analysis classes that corresponds to the classes detected in the analysis phase Database class System Menu_Page Param_Req DataBase Analysis Clases Figure 3. Class Diagram of the Java Prototype The System class is the main class of the architecture. This class is composed of the Menu_Page, the Parameter_request, the set of Analysis classes and the Database class. The System class implements the three main steps of the execution model: control user access to the system looking for the existence of an authorized object in the database. This way of accessing control allows any system object to be an active user of the object society and is only restricted by the agent relationships defined in the conceptual model (client/server relationship). create a new Menu_Page instance (this page will show a typical web menu page in the client browser) with as many options as classes are visible to the connected user. When the user selects one class, the services that the user is able to activate are shown.
12 facilitate the activation of services requested by the user. For this purpose the System instance creates a new Parameter_Request object to capture all the required argument values for the quoted service activation. We have as many Analysis classes in the Java prototype as system component classes are in our source Conceptual Model. The Database class acts as a bridge between the relational database storage of the Analysis class objects and their corresponding Java objects managed by the user s web browser. The main features of this object class include services to retrieve and update the database according to the object changes of state during the prototype execution. All the classes described above have attributes and methods (services) that support the whole execution model. In this paper, we are not going to show every complete class specification (methods and attributes). 4.3 Linking an OO Conceptual Model to an implementation in Java In order to better understand the architecture and behaviour of the previous component classes of the Java Execution Model, we introduce a Rent-a-Car case study as a brief example: A company is involved in the rented of vehicles without drivers as a principal activity. The vehicles are bought at the beginning of the season and are usually sold when the season is over. When a customer rents a car, a contract is generated and it remains open until the customer returns the vehicle. At that time, the total amount to be pay or refunded to the customer (in the case of surety) is calculated. After this step, the car is ready to be rented again.
13 First, we construct the Conceptual Model (object, dynamic and functional models) identifying the classes and specifying their relationships and all the static and dynamic properties. The classes identified in this problem domain are the following: Contract, Customer, Vehicle and Company. Based on the Execution Model proposed above, the architecture of the Java applet attached to the conceptual model is shown in Figure 4. In this figure, we are representing a particular Class Diagram for the Rent-a-car case study where the System class has every analysis class as components. System Menu_Page Param_Req DataBase Analysis Classes Company Contract Customer Vehicle Figure 4. Class diagram for the Java prototype of the Rent-a-car case of study. Next, we are going to describe an illustrative scenario for the Rent-a-Car prototype generated. This scenario will show the interaction between Java objects and their behaviour when a user enters into the object system. When a client loads the main HTML page that calls the Java applet, an instance
14 of the System class is created and User identification is required (see Figure 5). Figure 5. A User Access Control Page. After a User connects to the Rent-a-Car system, a menu page with an option for every class will appear (see Figure 6). If the user clicks in a class option, a new menu page associated with the selected class will be generated (including one option for every class event or transaction). Figure 6. Rent a Car System option page. In our example, when the user selects the Car class, the service list offered by this class is shown, as can be seen in Figure 7.
15 Figure 7. Car Class Services Menu Page. Every service option activation will generate a new request parameter page, as can be seen Figure 8. This page will ask the user for the parameters needed to execute the event/transaction. The Ok control button has a code associated to it that will call to a class method that implements the effect of the event on the object state. This method will check the state transition correctness and method preconditions. If this checking process succeeds, the object change of state is carried out according to the functional model specification. We finish the method execution by verifying integrity constraints and trigger condition satisfaction in the new state. Object state updates in the selected persistent object system became valid through the services offered by the Database object. Figure 8. Parameter Request Page for the Create Service of the Car Class. This execution model assures the functional equivalence between the conceptual model and its reification in a Java-programming environment. This feature opens up the
16 possibility of creating a CASE tool which could generate a Java prototype implementation, starting from a set of graphical OO models obtained during the conceptual modeling step (according to OO-Method), in an easy and unambiguous way. 5. Conclusions and future work In the next few years, advanced web applications will depend on object technology to make them feasible, reliable and secure. To achieve this goal, welldefined methodological frameworks must be introduced, properly connecting OO conceptual modeling and OO software development environments, including programming languages and databases. Our contribution is to provide just such an environment to obtain a functionally equivalent Java prototype in an automated way starting from a conceptual model that captures all the relevant system properties. The most relevant features are the following: it provides an operational implementation of an automated programming paradigm, where a concrete execution model is obtained from a process of conceptual model translation it uses a precise object-oriented model, where the use of a formal specification language as a high-level data dictionary is a basic characteristic This is done within the next-generation web development environments, making use of the Inter/Intranet architectures by using Java as software development environment. Research work is still being undertaken to improve the quality of the final software product that is generated, and to include advanced features such a schema evolution or optimized data base access mechanisms.
17 References [Arn96] Arnold K., Gosling J. The Java Programming Language. Sun MicroSystems. Addison-Wesley, [Bal83] Balzer R. et al. Software Technology in the 1990s: Using a New Paradigm. IEEE Computer, Nov [Boo94] Booch G. OO Analysis and Design with Applications. Addison-Wesley, [Boo97] Booch G., Rumbaugh J., Jacobson I. Unified Modeling Language. Version 1. Rational Software Co., [Col94] Coleman D., Arnold P., Bodoff S., Dollin S., Gilchrist H., Hayes F., Jeremes P. Object-Oriented Development. The Fusion Method. Prentice-Hall, [Dub94] Dubois E., Du Bois Ph., Petit M., Wu S. ALBERT: A Formal Agent-Oriented Requirements Language for Distributed Composite Systems. Proc. CAiSE 94. Workshop on Formal Methods for Information System Dynamics, pags: 25-39, University of Twente, Technical Report [Fri90] Lindgreen P. ed. A Framework of Information System Concepts. FRISCO Interim Report. IFIP WG8.TG.90, [Gos95] Goshling J., McGilton H. The Java Language Environment. A White Paper. Sun MicroSystems [Har94] Hartmann T., Saake G., Jungclaus R., Hartel P., Kusch J. Revised Version of the Modelling Language Troll (Troll version 2.0). Technische Universitat Braunschweig, Informatik-Berichte, [Jac92] Jacobson I., Christerson M., Jonsson P., Overgaard G. Object Oriented Software Engineering. A Use Case Driven Approach. Reading, Massachusetts. Addison-Wesley [Jun91] Jungclaus R., Saake G., Sernadas C. Formal Specification of Object Systems. Eds. S. Abramsky and T. Mibaum Proceedings of the TapSoft s 91, Brighton. Lncs. 494, pags , Springer- Verlag [Kif96] Kifer M. Deductive and Object Data Languages: A Quest for Integration. DOOD96. pags: [Kra95] Kramer D. The Java Platform. Sun MicroSystems. Addison-Wesley [Lem96] Lemay L., Perkins C., Cadenhead R. SunSoft Java Workshop. Sams.Net Publishing [Pas95] Pastor O., Ramos I., Canós J. Oasis v2: A Class Definition Language. Proc. DEXA95, Springer- Verlag [Pas96] Pastor O., Pelechano V., Bonet B., Ramos I. An OO Methodological Approach for Making Automated Prototyping Feasible. Proc. DEXA96. Springer-Verlag. September [Pas97-1] Pastor O., Insfrán E., Pelechano V., Romero J., Merseguer J. OO-METHOD: An OO Software Production Environment Combining Conventional and Formal Methods.CAiSE97. June Accepted for presentation. [Pas97-2] Pastor O., Insfrán E., Quiles G., Barberá J. Object-Oriented Conceptual Modeling Techniques to Design and Implement a Sound and Robust Oracle Environment. EOUG Accepted for presentation. [Rum91] Rumbaugh J., Blaha M., Permerlani W., Eddy F., Lorensen W. Object Oriented Modeling and Design. Englewood Cliffs, Nj. Prentice-Hall [Tit95] Tittel E., Gaither M. 60 Minute Guide to Java. IDG Books WorldWide, Inc
From Object Oriented Conceptual Modeling to Automated Programming in Java
From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University
More informationBuilding E-Commerce Applications from Object-Oriented Conceptual Models
Building E-Commerce Applications from Object-Oriented Conceptual Models Oscar Pastor* and Silvia Abrahão* and Joan Fons* This paper introduces an extension to UML that takes care of web page navigation
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 informationModeling the User Interface of Web Applications with UML
Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de
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 informationGenerating Aspect Code from UML Models
Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,
More informationThe Road in Software Engineering Education from Structured Programming to Object- Oriented Modelling
The Road in Software Engineering Education from Structured Programming to Object- Oriented Modelling Dr. József Tick Budapest Polytechnic, Hungary, tick@bmf.hu Abstract: Higher level software engineering
More informationFoundations of Model-Driven Software Engineering
Model-Driven Software Engineering Foundations of Model-Driven Software Engineering Dr. Jochen Küster (jku@zurich.ibm.com) Contents Introduction to Models and Modeling Concepts of Model-Driven Software
More informationzen 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 informationRun-time Variability Issues in Software Product Lines
Run-time Variability Issues in Software Product Lines Alexandre Bragança 1 and Ricardo J. Machado 2 1 Dep. I&D, I2S Informática Sistemas e Serviços SA, Porto, Portugal, alexandre.braganca@i2s.pt 2 Dep.
More informationDEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES
DEVELOPING REQUIREMENTS FOR DATA WAREHOUSE SYSTEMS WITH USE CASES Robert M. Bruckner Vienna University of Technology bruckner@ifs.tuwien.ac.at Beate List Vienna University of Technology list@ifs.tuwien.ac.at
More informationInformation systems modelling UML and service description languages
Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:
More informationEnterprise Integration: operational models of business processes and workflow systems *
Enterprise Integration: operational models of business processes and workflow systems. 1 Enterprise Integration: operational models of business processes and workflow systems * G.Bruno 1, C.Reyneri 2 and
More informationWhat Is the Java TM 2 Platform, Enterprise Edition?
Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today
More informationA Rapid Development Process with UML
A Rapid Development Process with UML Giuliano Armano DIEE, Dipartimento di Ingegneria Elettrica ed Elettronica, University of Cagliari Piazza d Armi I-09123, Cagliari (Italy) Tel. +39-70-675.5878 armano@diee.unica.it
More informationSource Code Translation
Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven
More informationWeb. Studio. Visual Studio. iseries. Studio. The universal development platform applied to corporate strategy. Adelia. www.hardis.
Web Studio Visual Studio iseries Studio The universal development platform applied to corporate strategy Adelia www.hardis.com The choice of a CASE tool does not only depend on the quality of the offer
More informationOntological Representations of Software Patterns
Ontological Representations of Software Patterns Jean-Marc Rosengard and Marian F. Ursu University of London http://w2.syronex.com/jmr/ Abstract. This paper 1 is based on and advocates the trend in software
More informationTowards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development
The 4th IFIP WG8.1 Working Conference on the Practice of Enterprise Modelling PoEM 2011 Universidade Federal de Pernambuco Towards a CMMI-compliant Goal-Oriented Software Process through Model-Driven Development
More informationWeb Application Development for the SOA Age Thinking in XML
Web Application Development for the SOA Age Thinking in XML Enterprise Web 2.0 >>> FAST White Paper August 2007 Abstract Whether you are building a complete SOA architecture or seeking to use SOA services
More informationSoftware Engineering. System Models. Based on Software Engineering, 7 th Edition by Ian Sommerville
Software Engineering System Models Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To explain why the context of a system should be modeled as part of the RE process To describe
More informationSERENITY Pattern-based Software Development Life-Cycle
SERENITY Pattern-based Software Development Life-Cycle Francisco Sanchez-Cid, Antonio Maña Computer Science Department University of Malaga. Spain {cid, amg}@lcc.uma.es Abstract Most of current methodologies
More informationInformation 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 informationTool Support for Software Variability Management and Product Derivation in Software Product Lines
Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,
More informationConcepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches
Concepts of Database Management Seventh Edition Chapter 9 Database Management Approaches Objectives Describe distributed database management systems (DDBMSs) Discuss client/server systems Examine the ways
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 informationChapter 10 Practical Database Design Methodology and Use of UML Diagrams
Chapter 10 Practical Database Design Methodology and Use of UML Diagrams Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 10 Outline The Role of Information Systems in
More informationTraining Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object
Training Management System for Aircraft Engineering: indexing and retrieval of Corporate Learning Object Anne Monceaux 1, Joanna Guss 1 1 EADS-CCR, Centreda 1, 4 Avenue Didier Daurat 31700 Blagnac France
More informationRepresenting XML Schema in UML A Comparison of Approaches
Representing XML Schema in UML A Comparison of Approaches Martin Bernauer, Gerti Kappel, Gerhard Kramler Business Informatics Group, Vienna University of Technology, Austria {lastname}@big.tuwien.ac.at
More informationHeterogeneous Tools for Heterogeneous Network Management with WBEM
Heterogeneous Tools for Heterogeneous Network Management with WBEM Kenneth Carey & Fergus O Reilly Adaptive Wireless Systems Group Department of Electronic Engineering Cork Institute of Technology, Cork,
More informationThe Role of Requirement Engineering in Software Development Life Cycle 1
The Role of Engineering in Software Development Life Cycle 1 Abhijit Chakraborty, 2 Mrinal Kanti Baowaly, 3 Ashraful Arefin, 4 Ali Newaz Bahar 1, 2 Department of Computer Science and Telecommunication
More informationSwirl. Multiplayer Gaming Simplified. CS4512 Systems Analysis and Design. Assignment 1 2010. Marque Browne 0814547. Manuel Honegger - 0837997
1 Swirl Multiplayer Gaming Simplified CS4512 Systems Analysis and Design Assignment 1 2010 Marque Browne 0814547 Manuel Honegger - 0837997 Kieran O' Brien 0866946 2 BLANK MARKING SCHEME 3 TABLE OF CONTENTS
More informationEnterprise Architecture: Practical Guide to Logical Architecture
Objecteering Practical Guides Enterprise Architecture: Practical Guide to Logical Architecture Author: Version: 1.0 Copyright: Softeam Softeam Consulting Team Supervised by Philippe Desfray Softeam 21
More informationMERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT
23-24 September, 2006, BULGARIA 1 MERGING ONTOLOGIES AND OBJECT-ORIENTED TECHNOLOGIES FOR SOFTWARE DEVELOPMENT Dencho N. Batanov Frederick Institute of Technology Computer Science Department Nicosia, Cyprus
More informationExtending a Conceptual Modelling Approach to Web Application Design
Extending a Conceptual Modelling Approach to Web Application Design Jaime Gómez 1, Cristina Cachero 1, and Oscar Pastor 2 1 Departamento de Lenguajes y Sistemas Informáticos Universidad de Alicante. SPAIN
More informationChapter 2 Database System Concepts and Architecture
Chapter 2 Database System Concepts and Architecture Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Outline Data Models, Schemas, and Instances Three-Schema Architecture
More informationWhat is a life cycle model?
What is a life cycle model? Framework under which a software product is going to be developed. Defines the phases that the product under development will go through. Identifies activities involved in each
More informationIntroduction to Database Systems
Introduction to Database Systems A database is a collection of related data. It is a collection of information that exists over a long period of time, often many years. The common use of the term database
More informationBuilding Java Servlets with Oracle JDeveloper
Building Java Servlets with Oracle JDeveloper Chris Schalk Oracle Corporation Introduction Developers today face a formidable task. They need to create large, distributed business applications. The actual
More informationEvaluating OO-CASE tools: OO research meets practice
Evaluating OO-CASE tools: OO research meets practice Danny Greefhorst, Matthijs Maat, Rob Maijers {greefhorst, maat, maijers}@serc.nl Software Engineering Research Centre - SERC PO Box 424 3500 AK Utrecht
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 informationSoftware Visualization Tools for Component Reuse
Software Visualization Tools for Component Reuse Craig Anslow Stuart Marshall James Noble Robert Biddle 1 School of Mathematics, Statistics and Computer Science, Victoria University of Wellington, New
More informationOOWS: A Method to Develop Web Applications from Web-Oriented Conceptual Models
OOWS: A Method to Develop Web Applications from Web-Oriented Conceptual Models Oscar Pastor, Joan Fons and Vicente Pelechano Department of Information Systems and Computation Technical University of Valencia
More informationAn Object-Oriented Analysis Method for Customer Relationship Management Information Systems. Abstract
75 Electronic Commerce Studies Vol. 2, No.1, Spring 2004 Page 75-94 An Object-Oriented Analysis Method for Customer Relationship Management Information Systems Jyh-Jong Lin Chaoyang University of Technology
More informationEnterprise Architecture Modeling PowerDesigner 16.1
Enterprise Architecture Modeling PowerDesigner 16.1 Windows DOCUMENT ID: DC00816-01-1610-01 LAST REVISED: November 2011 Copyright 2011 by Sybase, Inc. All rights reserved. This publication pertains to
More informationAgile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS
Agile Business Suite: a 4GL environment for.net developers DEVELOPMENT, MAINTENANCE AND DEPLOYMENT OF LARGE, COMPLEX BACK-OFFICE APPLICATIONS In order to ease the burden of application lifecycle management,
More informationChap 1. Introduction to Software Architecture
Chap 1. Introduction to Software Architecture 1. Introduction 2. IEEE Recommended Practice for Architecture Modeling 3. Architecture Description Language: the UML 4. The Rational Unified Process (RUP)
More information1 File Processing Systems
COMP 378 Database Systems Notes for Chapter 1 of Database System Concepts Introduction A database management system (DBMS) is a collection of data and an integrated set of programs that access that data.
More informationWinery A Modeling Tool for TOSCA-based Cloud Applications
Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University
More informationINNOVATOR. The integrated tool suite for business process and software engineering
The integrated tool suite for business process and software engineering Use the synergy: The integrated tool suite for business process and software engineering is the only integrated tool suite for business
More informationTHE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL
THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus
More informationGenerating Enterprise Applications from Models
Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,
More informationCSE 452: Programming Languages. Acknowledgements. Contents. Java and its Evolution
CSE 452: Programming Languages Java and its Evolution Acknowledgements Rajkumar Buyya 2 Contents Java Introduction Java Features How Java Differs from other OO languages Java and the World Wide Web Java
More informationAn Automated Workflow System Geared Towards Consumer Goods and Services Companies
Proceedings of the 2014 International Conference on Industrial Engineering and Operations Management Bali, Indonesia, January 7 9, 2014 An Automated Workflow System Geared Towards Consumer Goods and Services
More information3C05: Unified Software Development Process
3C05: Unified Software Development Process 1 Unit 5: Unified Software Development Process Objectives: Introduce the main concepts of iterative and incremental development Discuss the main USDP phases 2
More information1. Introduction 1.1 Methodology
Table of Contents 1. Introduction 1.1 Methodology 3 1.2 Purpose 4 1.3 Scope 4 1.4 Definitions, Acronyms and Abbreviations 5 1.5 Tools Used 6 1.6 References 7 1.7 Technologies to be used 7 1.8 Overview
More informationApache Web Server Execution Tracing Using Third Eye
Apache Web Server Execution Tracing Using Third Eye Raimondas Lencevicius Alexander Ran Rahav Yairi Nokia Research Center, 5 Wayside Road, Burlington, MA 01803, USA Raimondas.Lencevicius@nokia.com Alexander.Ran@nokia.com
More informationQuantitative and qualitative methods in process improvement and product quality assessment.
Quantitative and qualitative methods in process improvement and product quality assessment. Anna Bobkowska Abstract Successful improvement of the development process and product quality assurance should
More informationRequirements Definition and Management Processes
Software Engineering G22.2440-001 Session 1 Sub-Topic 1 Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute
More informationOracle Data Integrator: Administration and Development
Oracle Data Integrator: Administration and Development What you will learn: In this course you will get an overview of the Active Integration Platform Architecture, and a complete-walk through of the steps
More informationObject-Oriented Modeling and Design
Object-Oriented Modeling and Design James Rumbaugh Michael Blaha William Premerlani Frederick Eddy William Lorensen General Electric Research and Development Center Schenectady, New York Tschnische Hochschule
More informationDefining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework
Defining and Checking Model Smells: A Quality Assurance Task for Models based on the Eclipse Modeling Framework Thorsten Arendt a, Matthias Burhenne a, Gabriele Taentzer a a Philipps-Universität Marburg,
More informationKeywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.
Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional
More informationII. PREVIOUS RELATED WORK
An extended rule framework for web forms: adding to metadata with custom rules to control appearance Atia M. Albhbah and Mick J. Ridley Abstract This paper proposes the use of rules that involve code to
More informationIntegration of DB oriented CAD systems with Product Lifecycle Management
Integration of DB oriented CAD systems with Product Lifecycle Management Roberto Penas, SENER Ingeniería y Sistemas S.A., Tres Cantos/Spain, roberto.penas@sener.es Carlos González, SENER Ingeniería y Sistemas
More informationA Case Study in the Design of a Restaurant Management System
A Case Study in the Design of a Restaurant Management System Wesley Williams, Devon M. Simmonds Department of Computer Science University of North Carolina Wilmington {waw5709, simmondsd}@uncw.edu Abstract
More informationAn Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents
An Intelligent Approach for Integrity of Heterogeneous and Distributed Databases Systems based on Mobile Agents M. Anber and O. Badawy Department of Computer Engineering, Arab Academy for Science and Technology
More informationBusiness Process Modeling with Structured Scenarios
Business Process Modeling with Structured Scenarios Doug Rosenberg ICONIX Software Engineering, Inc. In 2008, based on our experience with a number of business process engineering projects over the last
More informationAspects of a REA Ontology Based Business Service Concept in Value Models
Aspects of a REA Ontology Based Business Service Concept in Value Models (short version of CAiSE 2009 paper) Hans Weigand 1, Paul Johannesson 2, Birger Andersson 2, Maria Bergholtz 2 1 Tilburg University,
More informationWeb-Based Information Systems
Web-Based Information Systems Prof. dr. Paul De Bra Eindhoven Univ. of Technology Topics Motivation Web Technology Design of Web-Based Information Systems Automatic Generation of Web-Based Interfaces 1
More informationDevelopment models. 1 Introduction. 2 Analyzing development models. R. Kuiper and E.J. Luit
Development models R. Kuiper and E.J. Luit 1 Introduction We reconsider the classical development models: the Waterfall Model [Bo76], the V-Model [Ro86], the Spiral Model [Bo88], together with the further
More informationContents. Java - An Introduction. Java Milestones. Java and its Evolution
Contents Java and its Evolution Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering The University of Melbourne http:// www.buyya.com Java Introduction
More informationThe Design of an Agent-Based Production Scheduling Software Framework for Improving Planning-Scheduling Collaboration
The Design of an Agent-Based Production Scheduling Software Framework for Improving Planning-Scheduling Collaboration Pedro Gomez-Gasquet, Francisco Cruz Lario Esteban, Ruben Dario Franco Pereyra, and
More informationObject-Oriented Systems Analysis and Design
Object-Oriented Systems Analysis and Design Noushin Ashrafi Professor of Information System University of Massachusetts-Boston Hessam Ashrafi Software Architect Pearson Education International CONTENTS
More informationEvaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation
Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of
More informationMenouer Boubekeur, Gregory Provan
Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College
More informationARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS
ARCHITECTURAL DESIGN OF MODERN WEB APPLICATIONS Lech MADEYSKI *, Michał STOCHMIAŁEK Abstract. Architectural design is about decisions which influence characteristics of arising system e.g. maintainability
More informationA Proposal for Constructing Relational Database from Class Diagram
A Proposal for Constructing Relational Database from Class Diagram Mohd Zainuri Saringat Faculty of Information Technology and Multimedia Universiti Tun Hussein Onn Malaysia Parit Raja, Batu Pahat, 86400,
More informationDeveloping a Framework for Building Open Distance Learning Websites in the Literature and Culture Domain
Developing a Framework for Building Open Distance Learning Websites in the Literature and Culture Domain Alexander Schatten, A Min Tjoa Insitute for Software Technology, Vienna University of Technology
More informationScenario-based Requirements Engineering and User-Interface Design
Scenario-based Requirements Engineering and User-Interface Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria kaindl@ict.tuwien.ac.at
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 informationII. Conceptual Modeling
II. Conceptual Modeling Engineering Software Models in Software Engineering What is Conceptual Modeling? Origins 2003 John Mylopoulos and Steve Easterbrook Conceptual Modeling -- 1 Engineering Software
More informationWhat is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World
COSC 304 Introduction to Systems Introduction Dr. Ramon Lawrence University of British Columbia Okanagan ramon.lawrence@ubc.ca What is a database? A database is a collection of logically related data for
More informationApplication Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments.
Application Of Business Intelligence In Agriculture 2020 System to Improve Efficiency And Support Decision Making in Investments Anuraj Gupta Department of Electronics and Communication Oriental Institute
More informationTool-Based Business Process Modeling using the SOM Approach
1 Ferstl, Sinz, et.al. : Tool-Based Business Process Modeling... Tool-Based Business Process Modeling using the SOM Approach Abstract Business processes play an important role in analyzing and designing
More informationHow to make a good Software Requirement Specification(SRS)
Information Management Software Information Management Software How to make a good Software Requirement Specification(SRS) Click to add text TGMC 2011 Phases Registration SRS Submission Project Submission
More informationAnalyze and Design of Information Systems Using OODPM for Small Scale Businesses
Analyze and Design of Information Systems Using OODPM for Small Scale Businesses Pavel Petkun Offer Drori The Hebrew University of Jerusalem E-mail: pashka, offerd {@cs.huji.ac.il} Abstract In the modern
More informationSoftware Engineering. Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti
Software Engineering Session 3 Main Theme Requirements Definition & Management Processes and Tools Dr. Jean-Claude Franchitti New York University Computer Science Department Courant Institute of Mathematical
More informationFunctional Requirements Document -Use Cases-
EUROPEAN COMMISSION DIRECTORATE GENERAL JRC JOINT RESEARCH CENTRE Cyber-security & New Technologies for Combating Fraud (CSCF) Institute for the Protection and Security of the Citizen (IPSC) EYE IN THE
More informationService-Oriented Architecture and Software Engineering
-Oriented Architecture and Software Engineering T-86.5165 Seminar on Enterprise Information Systems (2008) 1.4.2008 Characteristics of SOA The software resources in a SOA are represented as services based
More informationSoftware Requirements
Software Engineering Software Requirements Based on Software Engineering, 7 th Edition by Ian Sommerville Objectives To introduce the concepts of user and system requirements To describe functional and
More informationModel Driven Interoperability through Semantic Annotations using SoaML and ODM
Model Driven Interoperability through Semantic Annotations using SoaML and ODM JiuCheng Xu*, ZhaoYang Bai*, Arne J.Berre*, Odd Christer Brovig** *SINTEF, Pb. 124 Blindern, NO-0314 Oslo, Norway (e-mail:
More informationWhite Paper Cybercom & Axiomatics Joint Identity & Access Management (R)evolution
White Paper Cybercom & Axiomatics Joint Identity & Access Management (R)evolution Federation and Attribute Based Access Control Page 2 Realization of the IAM (R)evolution Executive Summary Many organizations
More informationUsing ESB and BPEL for evolving healthcare systems towards SOA
ehealth Beyond the Horizon Get IT There S.K. Andersen et al. (Eds.) IOS Press, 2008 2008 Organizing Committee of MIE 2008. All rights reserved. 747 Using ESB and BPEL for evolving healthcare systems towards
More informationAutomating Service Negotiation Process for Service Architecture on the cloud by using Semantic Methodology
Automating Process for Architecture on the cloud by using Semantic Methodology Bhavana Jayant.Adgaonkar Department of Information Technology Amarutvahini College of Engineering Sangamner, India adgaonkarbhavana@yahoo.in
More informationSkills for Employment Investment Project (SEIP)
Skills for Employment Investment Project (SEIP) Standards/ Curriculum Format for Web Application Development Using DOT Net Course Duration: Three Months 1 Course Structure and Requirements Course Title:
More informationObject-oriented design methodologies
Object-oriented design methodologies An object-oriented methodology is defined as the system of principles and procedures applied to object-oriented software development. Five years ago, there was no standard
More informationDESIGN AND DEVELOPING ONLINE IRAQI BUS RESERVATION SYSTEM BY USING UNIFIED MODELING LANGUAGE
DESIGN AND DEVELOPING ONLINE IRAQI BUS RESERVATION SYSTEM BY USING UNIFIED MODELING LANGUAGE Asaad Abdul-Kareem Al-Hijaj 1, Ayad Mohammed Jabbar 2, Hayder Naser Kh 3 Basra University, Iraq 1 Shatt Al-Arab
More informationFrom Business Process Modeling to the Specification of Distributed Business Application Systems - An Object-Oriented Approach -
From Business Process Modeling to the Specification of Distributed Business Application Systems - An Object-Oriented Approach - Otto K. Ferstl, Elmar J. Sinz 1 Abstract A business application system is
More information