Component-Based Development in J2ME: A Framework for Graphical Interface Development in Mobile Devices

Size: px
Start display at page:

Download "Component-Based Development in J2ME: A Framework for Graphical Interface Development in Mobile Devices"

Transcription

1 Component-Based Development in J2ME: A Framework for Graphical Interface Development in Mobile Devices Leandro Marques do Nascimento 1, Leonardo Amorim de Barros 2, Eduardo Santana Almeida 1, Silvio Romero de Lemos Meira 2 1 Recife Center for Advanced Studies and Systems C.E.S.A.R Recife PE Brazil 2 Informatics Center Federal University of Pernambuco (UFPE) Recife PE Brazil {lmn2,lab2,esa2,srlm}@cin.ufpe.br Abstract. In high-growth markets such as those that depend upon Java 2 Micro Edition (J2ME), application development with quality in a reduced time has become crucial for success. However, the diversity of handsets with this technology implies in many ports of every application, mainly in aspects related to Graphical User Interface (GUI). This paper describes the development of a framework for creating GUI in J2ME, reducing codification effort and usually producing more attractive applications. This framework was developed using a Component-Based Software Development (CBSD) method adapted for the J2ME context; both the CBSD usage and the modifications are described in the paper. 1. Introduction Java 2 Micro Edition (J2ME) [10] is being reveled as a good business opportunity for mobile phone companies. According to the site 3G Americas [1], 25% of J2ME users increase their monthly bill from 5 to 10 dollars due to the applications usage. As this market is in constant growth, there is a great demand for more applications to be developed in less time and, in this way, software reuse techniques become essential, such as Component-Based Software Development [2] (CBSD). However, an important feature in J2ME technology is the reduced number of unnecessary features, maintaining the smallest number of components and functionalities. Then, if some application tries to use only the native API available for developing GUI in J2ME, probably it will not get an attractive visual aspect. To reach this objective, the application must use low level graphical components, which are based on painting the screen pixel per pixel, using pre defined images, or, at most, using graphics primitives such as: line, square or circle, for example [10]. If so, the development becomes hard and time consuming. In this context, the purpose of this paper is to create a framework that encapsulates basic graphical components in order to decrease software development time, excluding low level API usage, and increase the applications quality, adding a more attractive visual aspect to them. This paper is organized as follows: Section 2 presents briefly a background of software reuse, software components and CBSD methods. Section 3 describes the case study with the framework description and the UML Components method adaptations to J2ME context. Finally, the Section 4 presents the concluding remarks and future directions.

2 2. Software Reuse and Component-Based Software Development (CBSD) Software reuse concept is, at most times, related to software components. One well accepted definition for software component is the Szyperski s [16]: A software component is a unit of composition with contractually specified interfaces and explicit context dependencies only. A software component can be deployed independently and is subject to composition by third parties. (pp. 41). RiSE 1 has adopted this definition in its work and it will be used across this paper for other citations CBSD Methods The development of software components demands a systematic approach, just as any other software process. Thus, using methods or processes for this kind of development eases the construction of more complex systems that integrate all parts. In this way, it can be reasonable the great number of research in this field that result in some CBSD methods [14]. Some of these methods are extensions of others already existent, which use the Object-Oriented (OO) paradigm. Among the cited methods, it can be widely found in the literature: Catalysis [6], Rational Unified Process (RUP) [9], Select Perspective [8], and UML Components [3]. Based on Stojanovic s et al. [14] research, UML Components was chosen to construct the proposed framework because it has large documentation with easy access; it is easily integrated with UML through stereotypes, which have tool support, such as, Jude 2 and Poseidon 3 ; and, finally, it is well accepted by industry and academy [4] UML Components There are many different extension mechanisms for UML, but, probably, the most used, according to Cheesman and Daniels [3], are the stereotypes. In its original version [12], UML allows that any element in the diagram has a stereotype attached, facilitating the language extension. There are six stereotypes of UML Components that can be added to entities in a typical UML diagram [3]: Type (<<type>>); Datatype (<<datatype>>); Interface type (<<interface type>>); Component Specification (<<comp spec>>); Offers (<<offers>>); and Core (<<core>>) UML Components Process: Overview Cheesman and Daniels [3] defined a workflow for component development based on RUP. The workflow has the following activities: Requirements, Specification, Provisioning, Assembly Test and Deployment. They correspond directly to RUP activities except for the Specification activity, which will be the paper focus and is where the UML Components concepts are applied. This activity is divided in three phases: Component Identification, Component Interaction, and Component Specification. 1 Reuse in Software Engineering Group RiSE. Available on 2 Jude UML Modeling Tool. Available on 3 Gentleware Poseidon UML Modeling Tool. Available on

3 Through the following Section 3, the UML Components process was applied to construct the proposed J2ME GUI framework. Then, the three phases of Component Identification (Section 3.1.1), Component Interaction (Section 3.1.2) and Component Specification (Section 3.1.3) were adapted. 3. Defining the Framework Developing user interfaces for small devices such as cell phones, pagers, PDAs, and so forth presents much more of a challenge. These devices have an even more restrictive user interface. The display capabilities of these devices may be restricted to a screen that is only an inch or two wide. Often, these devices are utilized with one hand and without the full attention of the user. Therefore, even simple pointing devices may not be available for user input. According to some J2ME technologies, such as MIDP [11], PersonalJava [13] and SuperWaba [15], a well designed GUI framework should provide high-level and low-level APIs. A high-level API is intended for business applications and provides abstraction from low-level graphics management and placement of graphical elements. The high-level API provides a series of widgets or predefined graphical elements that can be added to and used on a display. With the high-level GUI API, the device, and not the application, handles the layout, scrolling, navigation, and visual characteristics such as color, shape, font and painting of the elements on the display. Some of the common high-level components available on the earlier mentioned J2ME technologies are: A standard adaptable screen. It presents a screen for the target device with a title bar (with text and an icon), a space in the middle of the screen to allow customized items to be added, command buttons at the bottom left and right and a context menu button between this two command buttons; A standard form. It encapsulates a set of standard items to handle the user s input, such as text fields, text areas, list boxes, check boxes and labels, for example; A screen message. It is an extension of the standard adaptable screen used to display a text to user, such as the application help; A popup. It is used to display short messages to the user, such as warning, error or information messages, using as background a standard adaptable screen. Alternatively, in the low-level GUI API, the application has much more control over the display. This API was developed for applications such as games where the precise control and placement of graphical elements is required. In the low-level GUI API, a series of drawing methods allow the applications to create the display, shape by shape, if necessary, and paint it to the screen Applying UML Components UML Component defines two kinds of contracts established between framework entities: usage and realization. The usage contract is the one between a component object s interface and its clients. The realization contract is the contract between a component specification and its implementation.

4 To use UML Components on the framework construction, it is necessary to make some adaptations. One of the suggested adaptations is: consider the association between the <<core>> type and the <<interface type>> stereotype to indicate a realization contract. During the GUI development in J2ME, it is mandatory to handle events triggered by the user. So, a component that will be used for the construction of different graphical interfaces can not preview how the triggered event will be handled. Thus, this component should establish a realization contract with the other part that will use it. For better understanding realization contract, the low level J2ME API, Canvas class, available for constructing GUI can be used. The API contains methods to treat events that happen when the user presses or releases a device key. These methods bodies must be implemented by the class that extends Canvas or by the class that will extend the framework components. Another suggestion for adaptations is to consider the type <<core>> that does not have any association with an <<interface type>> stereotype to indicate a usage contract. It means the <<core>> entities without an association with a <<interface type>> can be used directly by the other parts, which do not have to extend the component behavior. Other adaptations are suggested in the following sections Component Identification In this phase, the steps to be followed are: identify system interfaces and operations; identify business interfaces; create initial component specification and architecture; specify component architecture. Considering that there is no use case specification for the framework and this artifact is used to identify system interfaces and operations then this step will not be performed. After constructing a business concept model and refining it to determine which the core types are, Figure 1 shows the result obtained. The business type model reflects the requirements necessities. CustomScreen entity represents the standard adaptable screen with two command buttons (Button) and a context menu (ContextMenu). CustomForm is the standard form that can receive items of the type CustomTextArea, CustomTextField, CustomCheckBox, CustomLabel, CustomListBox and CustomRadioButton. CustomMessage represents the message on the screen with a possible scroll bar. CustomPopup is the popup with a CustomScreen as background. After identifying core types, the next step would be to identify business interfaces. However, this step should be adapted for this framework. Figure 1. Business type model with core types identified.

5 UML Components consider interfaces as the description of a service provided by a specific component. In this particular case of J2ME GUI framework, the components are not service providers, but entities that have a predefined behavior to be reused or extended. As said in Section 3.1, the core types that need to be extended by third parties have an association with a <<interface type>> stereotype. Thus, the operations in the entity that uses the <<interface type>> stereotype are those which need to be extended by third parties, establishing a realization contract. The initial interface specification adds the paintcontent method in ICustomScreen interface type (Figure 2). This method is responsible for painting the screen middle space. The two entities which extend CustomScreen have the operation implemented Component Interaction Figure 2. Initial interface specification. The main goal of this phase is to discover the business interfaces operations and its respective signatures. For the framework, it was considered that <<core>> types encapsulate the stereotypes <<interface type>> for the case of usage contract. Then, the operations related to the <<core>> types will also be analyzed. An adaptation in the process should be made to reach the goal of this phase. In this way, a unique step will be performed: analyze in details the initial design of the framework and find operations relative to the types <<core>> and <<interface type>>. Figure 3 shows the analysis result Component Specification This phase is focused on producing the interface information model and building the component specification model. According to the UML Components process, three steps should be followed in order to reach this goal: (I) define interface information models; (II) specify pre/post-conditions; and (III) mount the component specification. The first step is not applicable to this case study because the interface, defined by the stereotype <<interface type>>, is already associated with a <<core>> type, which already has the information present in this model. It means that Figure 3 already contains the interface information model. Also, the second step is also not applicable to this case study because it is used for systems that have well defined business rules. Usually pre/post conditions are extracted from the use case specifications and it is not the case of the framework.

6 Figure 3. Operations definition for the framework with its respective signatures. Finally the third step can be performed getting as input the framework operations definition (Figure 3). Figure 4 displays the result of this phase Framework Results Figure 4. Framework component specification. The framework was codified with approximately 5749 lines of non-commented source code (NCSLOC) in a total of lines of code. The final Java Archive (JAR) file has 52 KB. Considering that a J2ME application could use 150 KB, then the framework would use 34% of the total application space, leaving the missing 98 KB available for development of the entire application. Also, the framework was well documented to provide a useful API. It can be realized by observing the comments percentage: 57% of the total number of lines in the framework are comments. A simple application (Figure 5) used as example was developed reusing the framework and its final size was 72 KB, including images, with 407 NCSLOC. The images were used to give the application a more customized visual aspect. However, it is possible to create an entire application without using images and the framework will adapt all application screens to the available size of the handset display. To make a comparison, J2ME Polish [7] was used to generate some screens. The tool uses generic MIDP configurations and also specific configurations for different devices. The tool facilitates in screen construction and flow control, but still does not allow the customization, as it is possible with the framework, because it uses MIDP API, which is restricted by the handset capabilities.

7 This framework has been used and maintained by C.E.S.A.R in some Motorola iden 1 projects. For now, the development team responsible for the framework is considering it as a potential way of reducing the projects time. There are three reasons for this reduction: Reduced number of code inspections. As C.E.S.A.R. is applying CMMI 3 practices, then code inspections are mandatory. All framework components had passed through a formal inspection, and every new project which reuses the framework does not need to inspect the code again. According to the Software Quality Assurance Team, the time used for code inspections is about 10% to 20% of the entire project time; Reduced number of bugs. As the components are being reused across many projects, the number of bugs per line of code is reduced; Reduced codification time. Considering the learning curve time, developers take from 10% to 15% less time to implement new functionalities. This value can be observed through a time control tool used in the organization. Figure 5. Screens constructed from the framework. 1) Standard adaptable screen. 2) Standard adaptable screen with active context menu. 3) Standard form with CustomTextField and CustomCheckBox components appended. 4) Popup with a visual effect applied to the background screen. 5) Message screen with a scroll bar. 6, 7 and 8) Examples of standard MIDP screens. 4. Concluding Remarks and Future Directions This paper described the development of a framework which is responsible for creating GUI in J2ME, reducing the codification effort and producing a more attractive visual aspect of the application. To guide all the development phases, it was used a CBSD method (UML Components), which helps in the construction of a well-structured and 1 Motorola iden - Integrated Digital Enhanced Network. Available on

8 modeled framework with more quality. During the method application, some suggestions have been made to adapt the process to the J2ME context. The main contribution of this paper is aligned with the purposes of MIDP 3.0, currently on development, which aims to follow the idea of using components in J2ME applications, as it was published at JavaOne 2005 [17]. This new version allows installing a set of components in a handset and, after that, any other application installed in that handset would reuse those components. As a future work, the framework would include Generative Programming (GP) [5] idea and then, it would be possible to manipulate the components through a visual interface, resulting in an initial source code implementation ready to be customized. References [1] 3G Americas. Available on accessed in August, [2] Bachmann, F.; Bass, L.; Buhman, C.; Comella-Dorda, S.; Long, F.; Robert, J.; Seacord, R.; Wallnau, K. Technical Concepts of Component-Based Software Engineering, 2nd Edition, Carnegie Mellon Software Engineering Institute, May, [3] Cheesman, J.; Daniels, J. UML Components: A Simple Process for Specifying Component-Based Software, Addison-Wesley, [4] Component-Based Design: A Complete Worked Example. Available on accessed in January, [5] Czarnecki, K.; Eisenecker, U. W. Generative Programming: Methods, Tools, and Applications. Addison-Wesley, [6] D'Souza, D.; Wills, A. C. Objects, Components, and Frameworks with UML - The Catalysis Approach, Addison-Wesley, [7] J2ME Polish. Available on accessed in August [8] Jacobson, I., et. al. Object-Oriented Software Engineering - A Use Case-Driven Approach, Reading, MA: Addison-Wesley, [9] Jacobson, I., et. al. The Unified Software Development Process, Addison-Wesley. USA 4th edition, [10] Java 2 Platform, Micro Edition (J2ME). Available on accessed in August, [11] Muchow, J., W. Core J2ME Technology & MIDP, Pearson Makron Books, [12] OMG - Object Management Group: Unified Modeling Language 1.3 specification. Available on accessed in January, [13] PersonalJava Application Environment. Available on accessed in August, [14] Stojanovic, Z.; Dahanayake, A.; Sol, H. A Methodology Framework for Component-Based System Development Support, The 6th CaiSE/IFIP8.1 International Workshop on Evaluation of Modeling Methods in Systems Analysis and Design (EMMSAD), Interlaken, Switzerland, June, [15] SuperWaba: The Real Power of Mobile Computing. Available on accessed in August [16] Szyperski, C. Component Software Beyond Object-Oriented Programming, Addison-Wesley, [17] The Mobility and Devices Track at JavaOne Available on accessed in September, 2005.

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 18 Department of Computer Engineering Implementation Workflow 1 Implementation Workflow Implementation is primarily about creating code. However, the OO analyst/designer

More information

Demo Proposal. 1 General Information

Demo Proposal. 1 General Information Demo Proposal 1 General Information Demostration title: FLiP Product Line Derivation Tool Type of demonstration : Forum Contact person: Paulo Borba, phmb@cin.ufpe.br, Informatics Center UFPE, Universidade

More information

Pattern for Structuring UML-Compatible Software Project Repositories

Pattern for Structuring UML-Compatible Software Project Repositories Pattern for Structuring UML-Compatible Software Project Repositories Pavel Hruby Navision Software a/s Frydenlunds Allé 6 2950 Vedbaek, Denmark E-mail: ph@navision.com Web site: www.navision.com/services/methodology/default.asp

More information

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

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

More information

AN INTEGRATED COMPONENT-BASED APPROACH TO ENTERPRISE SYSTEM SPECIFICATION AND DEVELOPMENT

AN INTEGRATED COMPONENT-BASED APPROACH TO ENTERPRISE SYSTEM SPECIFICATION AND DEVELOPMENT AN INTEGRATED COMPONENT-BASED APPROACH TO ENTERPRISE SYSTEM SPECIFICATION AND DEVELOPMENT Zoran Stojanovic, Ajantha Dahanayake Faculty of Information Technology and Systems, Delft University of Technology,

More information

Modeling Context in Software Reuse

Modeling Context in Software Reuse Roskilde, Denmark August 2007 Modeling Context in Software Reuse Eduardo Cruz Vaninha Vieira Eduardo Almeida Silvio Meira Ana Carolina Salgado Patrick Brézillon ecrs@cin.ufpe.br vvs@cin.ufpe.br esa2@cin.ufpe.br

More information

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

Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development Process Fakultät Informatik - Institut Software- und Multimediatechnik - Softwaretechnologie Prof. Aßmann - CBSE Part II Black-Box Composition Systems 20. Finding UML Business Components in a Component-Based Development

More information

10.1 Big Objects, Business Objects, and UML Components

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

More information

Dimensions for the Separation of Concerns in Describing Software Development Processes

Dimensions for the Separation of Concerns in Describing Software Development Processes Dimensions for the Separation of Concerns in Describing Software Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com http://www.navision.com,

More information

An Approach to Software Component Specification

An Approach to Software Component Specification Page 1 of 5 An Approach to Software Component Specification Jun Han Peninsula School of Computing and Information Technology Monash University, Melbourne, Australia Abstract. Current models for software

More information

Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components

Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components Semi-Formal, not Semi-Realistic: A New Approach to Describing Software Components E James Montgomery, Rune Meling, Daniela Mehandjiska School of Information Technology Bond University Queensland, Australia

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecture 14: Design Workflow Department of Computer Engineering Sharif University of Technology 1 UP iterations and workflow Workflows Requirements Analysis Phases Inception Elaboration

More information

Designing Component-Based Architectures with Rational Rose RealTime

Designing Component-Based Architectures with Rational Rose RealTime Designing Component-Based Architectures with Rational Rose RealTime by Reedy Feggins Senior System Engineer Rational Software Rose RealTime is a comprehensive visual development environment that delivers

More information

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course?

Who am I? Wireless Online Game Development for Mobile Device. What games can you make after this course? Are you take the right course? Who am I? Wireless Online Game Development for Mobile Device Lo Chi Wing, Peter Lesson 1 Email: Peter@Peter-Lo.com I123-1-A@Peter Lo 2007 1 I123-1-A@Peter Lo 2007 2 Are you take the right course? This

More information

Towards Reusable Heterogeneous Data-Centric Disentangled Parts

Towards Reusable Heterogeneous Data-Centric Disentangled Parts Towards Reusable Heterogeneous Data-Centric Disentangled Parts Michael Reinsch and Takuo Watanabe Department of Computer Science, Graduate School of Information Science and Technology, Tokyo Institute

More information

Design of Embedded Systems

Design of Embedded Systems Design of Embedded Systems José Costa Software for Embedded Systems Departamento de Engenharia Informática (DEI) Instituto Superior Técnico 2015-01-02 José Costa (DEI/IST) Design of Embedded Systems 1

More information

SCOS-2000 Technical Note

SCOS-2000 Technical Note SCOS-2000 Technical Note MDA Study Prototyping Technical Note Document Reference: Document Status: Issue 1.0 Prepared By: Eugenio Zanatta MDA Study Prototyping Page: 2 Action Name Date Signature Prepared

More information

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview

CHAPTER 1. Topic: UML Overview. CHAPTER 1: Topic 1. Topic: UML Overview CHAPTER 1 Topic: UML Overview After studying this Chapter, students should be able to: Describe the goals of UML. Analyze the History of UML. Evaluate the use of UML in an area of interest. CHAPTER 1:

More information

Review of Basic Software Design Concepts. Fethi Rabhi SENG 2021

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

More information

PIP: Progressive Implementation Pattern

PIP: Progressive Implementation Pattern PIP: Progressive Implementation Pattern Sérgio Soares and Paulo Borba Informatics Center Federal University of Pernambuco Intent Tame complexity and improve development productivity. Reduce the impact

More information

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright

Notation Part 1. Object Orientated Analysis and Design. Benjamin Kenwright Notation Part 1 Object Orientated Analysis and Design Benjamin Kenwright Version Control Example Team Princess 3 Members 3 Github Users e.g., Elva1997, michelle0924hhx, KimJaeHwang Each user can join and

More information

Rational Software White paper

Rational Software White paper Unifying Enterprise Development Teams with the UML Grady Booch Rational Software White paper 1 There is a fundamental paradox at play in contemporary software development. On the one hand, organizations

More information

Core Assets Development in Software Product Lines - Towards a Practical Approach for the Mobile Game Domain

Core Assets Development in Software Product Lines - Towards a Practical Approach for the Mobile Game Domain Core Assets Development in Software Product Lines - Towards a Practical Approach for the Mobile Game Domain Leandro Marques do Nascimento 1,2, Eduardo Santana de Almeida 1,3, Silvio Romero de Lemos Meira

More information

Mapping UML Component Specifications to JEE Implementations

Mapping UML Component Specifications to JEE Implementations Journal of Computer Science 3 (10): 780-785, 2007 ISSN 1549-3636 2007 Science Publications Mapping UML Component Specifications to JEE Implementations Jyhjong Lin Department of Information Management,

More information

Build the application using Rational Build Forge

Build the application using Rational Build Forge Build the application using Rational Build Forge In this lab, as the Build Engineer, you will run a formal build of Release 2.0 of the RatlBankWeb application. After the build completes, you will be able

More information

Methods for Complex Web Hypermedia Application: The Design Processes

Methods for Complex Web Hypermedia Application: The Design Processes Methods for Complex Web Hypermedia Application: The Design Processes Ahmad Syafiq Ahmad Appandi, Azrul Hazri Jantan Faculty of Computer Science & Information Technology 43400 UPM, Serdang, Selangor. ahmadsyafiq.upm@gmail.com,

More information

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS

LESSON PLAN SUB NAME : OBJECT ORIENTED ANALYSIS AND DESIGN UNIT SYLLABUS LP Rev. : 00 Page 1 of 6 UNIT: I FUNDAMENTALS SEMESTER : 5 FUNDAMENTALS 8 An overview of object oriented systems development Object basics Object oriented systems development life cycle. OBJECTIVE: To

More information

Course 3 7 March

Course 3 7 March Course 3 7 March adiftene@info.uaic.ro 1 From Courses 1, 2 Modeling Modeling Languages Graphic Languages UML History UML Definition UML Diagram Types UML Use Case Diagram Actors Use Case UML Class Diagrams

More information

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML

Ingegneria del Software Corso di Laurea in Informatica per il Management. Introduction to UML Ingegneria del Software Corso di Laurea in Informatica per il Management Introduction to UML Davide Rossi Dipartimento di Informatica Università di Bologna Modeling A model is an (abstract) representation

More information

Component-based Architecture Buy, don t build Fred Broks

Component-based Architecture Buy, don t build Fred Broks Component-based Architecture Buy, don t build Fred Broks 1. Why use components?... 2 2. What are software components?... 3 3. Component-based Systems: A Reality!! [SEI reference]... 4 4. Major elements

More information

Lecture 2: Software Engineering (a review)

Lecture 2: Software Engineering (a review) Lecture 2: Software Engineering (a review) Kenneth M. Anderson Object-Oriented Analysis and Design CSCI 6448 - Spring Semester, 2003 Credit where Credit is Due Some material presented in this lecture is

More information

A Design Rationale Representation for Model-Based Designs in Software Engineering

A Design Rationale Representation for Model-Based Designs in Software Engineering A Design Rationale Representation for Model-Based Designs in Software Engineering Adriana Pereira de Medeiros, Daniel Schwabe, and Bruno Feijó Dept. of Informatics, PUC-Rio, Rua Marquês de São Vicente

More information

OO Analysis and Design with UML 2 and UP

OO Analysis and Design with UML 2 and UP OO Analysis and Design with UML 2 and UP Dr. Jim Arlow, Zuhlke Engineering Limited Clear View Training 2008 v2.5 1 UML principles Clear View Training 2008 v2.5 2 1.2 What is UML? Unified Modelling Language

More information

Introduction to Eclipse

Introduction to Eclipse Introduction to Eclipse Getting started with Eclipse 05/02/2010 Prepared by Chris Panayiotou for EPL 233 1 What is Eclipse? o Eclipse is an open source project http://www.eclipse.org Consortium of companies,

More information

Metamodeling for Business Model Design

Metamodeling for Business Model Design Metamodeling for Business Model Design Facilitating development and communication of Business Model Canvas (BMC) models with an OMG standards-based metamodel. Hilmar Hauksson 1 and Paul Johannesson 2 1

More information

Design and Evolution of an Agent-Based CASE System for OOAD

Design and Evolution of an Agent-Based CASE System for OOAD Proceedings of ATS 2003 206 Design and Evolution of an -Based CASE System for OOAD Dong Liu, Kalaivani Subramaniam, Behrouz H. Far, and Armin Eberlein Department of Electrical and Computer Engineering

More information

Software Architecture Recovery based on Dynamic Analysis

Software Architecture Recovery based on Dynamic Analysis Software Architecture Recovery based on Dynamic Analysis Aline Vasconcelos 1,2, Cláudia Werner 1 1 COPPE/UFRJ System Engineering and Computer Science Program P.O. Box 68511 ZIP 21945-970 Rio de Janeiro

More information

Quality-Driven Architecture Design Method

Quality-Driven Architecture Design Method Quality-Driven Architecture Design Method Matinlassi Mari, Niemelä Eila P.O. Box 1100, 90571 Oulu Tel. +358 8 551 2111 Fax +358 8 551 2320 {Mari.Matinlassi, Eila.Niemela}@vtt.fi Abstract: In this paper

More information

StarUML Documentation

StarUML Documentation StarUML Documentation Release 2.0.0 MKLab November 20, 2014 Contents 1 Basic Concepts 3 1.1 Project.................................................. 3 1.2 Model Element, View Element, and Diagram..............................

More information

A Role-based Use Case Model for Remote Data Acquisition Systems *

A Role-based Use Case Model for Remote Data Acquisition Systems * A Role-based Use Case Model for Remote Acquisition Systems * Txomin Nieva, Alain Wegmann Institute for computer Communications and Applications (ICA), Communication Systems Department (DSC), Swiss Federal

More information

Configuration Management for Component-based Systems

Configuration Management for Component-based Systems Configuration Management for Component-based Systems Magnus Larsson Ivica Crnkovic Development and Research Department of Computer Science ABB Automation Products AB Mälardalen University 721 59 Västerås,

More information

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach

Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Guiding System Modelers in Multi View Environments: A Domain Engineering Approach Arnon Sturm Department of Information Systems Engineering Ben-Gurion University of the Negev, Beer Sheva 84105, Israel

More information

Software Engineering from a

Software Engineering from a Software Engineering from a modeling perspective Robert B. France Dept. of Computer Science Colorado State University USA france@cs.colostate.edu Softwaredevelopment problems Little or no prior planning

More information

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad

Objectives. UML Extension Mechanisms. What is UML? Is the UML enough? UML Extension Mechanisms. Specifications. By Jasmine Farhad UML Extension Mechanisms By Jasmine Farhad j.farhad@cs.ucl.ac.uk Objectives Briefly describe the UML Introduce the UML Extension Mechanisms: Specifications Common Divisions Adornments Extensibility Mechanism(we

More information

Formal Specification of Software Systems

Formal Specification of Software Systems Formal Specification of Software Systems Lecture Notes Winter Term 2001 / 2002 Heinrich Hußmann Technische Universität Dresden Formal Specification of Software Systems Summary: Construction of large software

More information

Integrating Domain Specific Modeling into the Production Method of a Software Product Line

Integrating Domain Specific Modeling into the Production Method of a Software Product Line Integrating Domain Specific Modeling into the Production Method of a Software Product Line Gary J. Chastek Software Engineering Institute John D. McGregor Clemson University Introduction This paper describes

More information

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML

Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Proposal of a Supporting Method for Diagrams Generation with the Transformation Rules in UML Tetsuro Katayama Department of Computer Science and Systems Engineering, Faculty of Engineering, Miyazaki University

More information

Software Development Methodologies

Software Development Methodologies Software Development Methodologies Lecturer: Raman Ramsin Lecture 3 Seminal Object-Oriented Methodologies: A Feature-Focused Review 1 Responsibility-Driven Design (RDD) Introduced in 1990; a UML-based

More information

Object-Oriented Analysis and Design Using UML (OO-226)

Object-Oriented Analysis and Design Using UML (OO-226) Object-Oriented Analysis and Design Using UML (OO-226) The Object-Oriented Analysis and Design Using UML course effectively combines instruction on the software development processes, objectoriented technologies,

More information

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling

The Unified Modelling Language. Example Diagrams. Notation vs. Methodology. UML and Meta Modelling UML and Meta ling Topics: UML as an example visual notation The UML meta model and the concept of meta modelling Driven Architecture and model engineering The AndroMDA open source project Applying cognitive

More information

Capturing the Essential: Use Case and Service Specification Modelling in UML

Capturing the Essential: Use Case and Service Specification Modelling in UML Capturing the Essential: Use Case and Service Specification Modelling in UML Introduction Software modelling practices need to evolve to keep pace with new paradigms. For example, traditional system-oriented

More information

3.0 Object-Oriented Modeling Using UML

3.0 Object-Oriented Modeling Using UML 3.0 Object-Oriented Modeling Using UML Subject/Topic/Focus: Introduction to UML Summary: History of OOAD leading to UML UML Diagrams: Overview UML Models in the Objectory Software Development Process Literature:

More information

Topic : Object Oriented Design Principles

Topic : Object Oriented Design Principles Topic : Object Oriented Design Principles Software Engineering Faculty of Computing Universiti Teknologi Malaysia Objectives Describe the differences between requirements activities and design activities

More information

BLU AGE 2009 Edition Agile Model Transformation

BLU AGE 2009 Edition Agile Model Transformation BLU AGE 2009 Edition Agile Model Transformation Model Driven Modernization for Legacy Systems 1 2009 NETFECTIVE TECHNOLOGY -ne peut être copiésans BLU AGE Agile Model Transformation Agenda Model transformation

More information

Getting a Quick Start with RUP

Getting a Quick Start with RUP Getting a Quick Start with RUP By: Doug Rosenberg and Jeff Kantor, ICONIX Software Engineering, Inc. Abstract Many people want the rigor of an industrial-strength process like the RUP but aren't quite

More information

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

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

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2004 Vol. 3, No. 4 (April 2004) Special issue: TOOLS USA 2003 Orion A Component-Based Software

More information

c Copyright 2004, Vinicius Cardoso Garcia, Eduardo Kessler Piveta, Daniel Lucrédio, Alexandre Alvaro, Eduardo Santana de Almeida, Antonio Francisco

c Copyright 2004, Vinicius Cardoso Garcia, Eduardo Kessler Piveta, Daniel Lucrédio, Alexandre Alvaro, Eduardo Santana de Almeida, Antonio Francisco c Copyright 2004, Vinicius Cardoso Garcia, Eduardo Kessler Piveta, Daniel Lucrédio, Alexandre Alvaro, Eduardo Santana de Almeida, Antonio Francisco do Prado, Luiz Carlos Zancanella. Permission is granted

More information

Design concepts for data-intensive applications

Design concepts for data-intensive applications 6 th International Conference on Applied Informatics Eger, Hungary, January 27 31, 2004. Design concepts for data-intensive applications Attila Adamkó Department of Information Technology, Institute of

More information

WP 15: DBE Business Modeling Language

WP 15: DBE Business Modeling Language D.B.E. Digital Business Ecosystem Contract No: 507953 WP 15: DBE Business Modeling Language D15.2: BML Editor 2 nd Release Project funded by the European Community under FP6 D15.2: BML Editor 2 nd Release

More information

Index. : (colon), 80 <<>> (guillemets), 34, 56

Index. : (colon), 80 <<>> (guillemets), 34, 56 : (colon), 80 (guillemets), 34, 56 A Abstraction, 3 Acronyms, 54 Action field, 140 Actions tab, 140 ActiveX controls (Microsoft), 163 Activities. See also Activity diagrams basic description of, 241

More information

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

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

More information

Requirements and Design Overview

Requirements and Design Overview Requirements and Design Overview Robert B. France Colorado State University Robert B. France O-1 Why do we model? Enhance understanding and communication Provide structure for problem solving Furnish abstractions

More information

History of object-oriented approaches

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

More information

Open Reuse of Component Designs in OPM/Web

Open Reuse of Component Designs in OPM/Web Open Reuse of Component Designs in OPM/Web Iris Reinhartz-Berger Technion - Israel Institute of Technology ieiris@tx.technion.ac.il Dov Dori Technion - Israel Institute of Technology dori@ie.technion.ac.il

More information

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools

UML Modeling I. Instructor: Yongjie Zheng September 3, CS 490MT/5555 Software Methods and Tools UML Modeling I Instructor: Yongjie Zheng September 3, 2015 CS 490MT/5555 Software Methods and Tools Object-Oriented Design: Topics & Skills Rational Unified Process Unified Modeling Languages (UML) Provide

More information

Applying Experiences with Declarative Codifications of Software Architectures on COD

Applying Experiences with Declarative Codifications of Software Architectures on COD Applying Experiences with Declarative Codifications of Software Architectures on COD Position Paper Roel Wuyts Stéphane Ducasse Gabriela Arévalo roel.wuyts@iam.unibe.ch ducasse@iam.unibe.ch arevalo@iam.unibe.ch

More information

ipprocess: A Development Process for Soft IP-core with Prototyping in FPGA

ipprocess: A Development Process for Soft IP-core with Prototyping in FPGA ipprocess: A Development Process for Soft IP-core with Prototyping in FPGA Marília Lima, Francielle Santos, João Bione, Tiago Lins, Edna Barros Informatics Center. Federal University of Pernambuco Recife,

More information

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

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

More information

Object-Oriented Software Engineering Practical Software Development using UML and Java

Object-Oriented Software Engineering Practical Software Development using UML and Java Object-Oriented Software Engineering Practical Software Development using UML and Java Chapter 5: Modelling with Classes Lecture 5 5.1 What is UML? The Unified Modelling Language is a standard graphical

More information

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6

Topics. From UI prototype... About user interfaces. ... via design to implementation. Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 6 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 7 User Interface Design Topics From UI prototype to implementation

More information

Applied UML. John Daniels Syntropy Limited.

Applied UML. John Daniels Syntropy Limited. Applied UML John Daniels john@syntropy.co.uk www.syntropy.co.uk What is UML? Unified Modeling Language The UML is a standardised language for describing the structure and behaviour of things UML emerged

More information

3rd Lecture Languages for information modeling

3rd Lecture Languages for information modeling 3rd Lecture Languages for information modeling Agenda Languages for information modeling UML UML basic concepts Modeling by UML diagrams CASE tools: concepts, features and objectives CASE toolset architecture

More information

Domain Models for Laboratory Integration

Domain Models for Laboratory Integration Models for Laboratory Integration ANCA DANIELA IONITA Computers and Industrial Informatics Department University Politehnica of Bucharest Spl. Independentei 313, 060042, Bucharest ROMANIA Abstract: - Laboratory

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 9: Generalization/Specialization 1 Analysis Workflow: Analyze a Use Case The analysis workflow consists of the following activities: Architectural

More information

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2

Pearson Education 2005 Chapter 7 (Maciaszek - RASD 2/e) 2 MACIASZEK, L.A. (2005): Requirements Analysis and System Design, 2 nd ed. Addison Wesley, Harlow England, 504p. ISBN 0 321 20464 6 Chapter 7 User Interface Design Pearson Education Limited 2005 Topics

More information

The Process of Software Architecting

The Process of Software Architecting IBM Software Group The Process of Software Architecting Peter Eeles Executive IT Architect IBM UK peter.eeles@uk.ibm.com 2009 IBM Corporation Agenda IBM Software Group Rational software Introduction Architecture,

More information

Orthographic Software Modeling A Practical Approach to View Based Development

Orthographic Software Modeling A Practical Approach to View Based Development Orthographic Software Modeling A Practical Approach to View Based Development Colin Atkinson University of Mannheim Germany MSI 2009 7 th October 2009 Oldenburg Outline Modern software engineering paradigms

More information

Incremental development A.Y. 2018/2019

Incremental development A.Y. 2018/2019 Incremental development A.Y. 2018/2019 Incremental development Interleaves the activities of specification, development, and validation. The system is developed as a series of versions (increments), with

More information

Java 2 Platform, Micro Edition

Java 2 Platform, Micro Edition Java 2 Platform, Micro Edition ArchitectureOverview Jon Courtney Senior Staff Engineer Sun Microsystems JavaOne203 Sesion316 Overall Presentation Goal Learnaboutthearchitectural features ofthejava 2Platform,MicroEdition(J2ME

More information

Introduction to componentbased software development

Introduction to componentbased software development Introduction to componentbased software development Nick Duan 8/31/09 1 Overview What is a component? A brief history of component software What constitute the component technology? Components/Containers/Platforms

More information

The Software Station A System for Version Controlled Development and Web Based Deployment of Software for a Mobile Environment

The Software Station A System for Version Controlled Development and Web Based Deployment of Software for a Mobile Environment The Software Station A System for Version Controlled Development and Web Based Deployment of Software for a Mobile Environment Lei Liu Philipp Obreiter lei.liu@web.de, obreiter@ipd.uni-karlsruhe.de August

More information

Model Driven Development Unified Modeling Language (UML)

Model Driven Development Unified Modeling Language (UML) Model Driven Development Unified Modeling Language (UML) An Overview UML UML is a modeling notation standardized by OMG (proposal 1997, ver.1.1 in 1998, ver. 2.0 in 2004) now in 2.4.1 mature based on notations

More information

Domain-Driven Development with Ontologies and Aspects

Domain-Driven Development with Ontologies and Aspects Domain-Driven Development with Ontologies and Aspects Submitted for Domain-Specific Modeling workshop at OOPSLA 2005 Latest version of this paper can be downloaded from http://phruby.com Pavel Hruby Microsoft

More information

ITBIS393 Web-Based Information Systems

ITBIS393 Web-Based Information Systems ITBIS393 Web-Based Information Systems Chapter 3: Modeling Web Applications Wieland Schwinger, Nora Koch Dr. Federico M. Facca Prof. Dr. Gregor Engels Prepared by Fadia Hijazie Modeling Web Applications

More information

SE310 Analysis and Design of Software Systems

SE310 Analysis and Design of Software Systems SE310 Analysis and Design of Software Systems Lecture 3 Systems Requirements January 21, 2015 Sam Siewert Learning Objective Software Engineering Process? Lifecycle Phases feedback SPIRAL WATERFALL XP

More information

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus

UML 2.0 UML 2.0. Scott Uk-Jin Lee. Division of Computer Science, College of Computing Hanyang University ERICA Campus UML 2.0 Division of Computer Science, College of Computing Hanyang University ERICA Campus Introduction to UML 2.0 UML Unified Modeling Language Visual language for specifying, constructing and documenting

More information

Mapping Software Product Line Features to Unmanned Aerial Vehicle Models

Mapping Software Product Line Features to Unmanned Aerial Vehicle Models Mapping Software Product Line Features to Unmanned Aerial Vehicle Models Vanderson H. Fragal, Edson A. Oliveira Junior, Itana M. S. Gimenes Informatics Department State University of Maringá Maringá-PR,

More information

UNIT-I Introduction of Object Oriented Modeling

UNIT-I Introduction of Object Oriented Modeling UNIT-I Introduction of Object Oriented Modeling - Prasad Mahale Object Oriented Modeling and Reference Books: Design 1. Grady Booch, James Rumbaugh, Ivar Jacobson Unified Modeling Language User Guide,

More information

Approaches of using UML for Embedded System Design

Approaches of using UML for Embedded System Design Approaches of using UML for Embedded System Design Sudeep D. Thepade Lecturer, Dept. of Information Technology, Thadomal Shahani Engg. College, Bandra, Mumbai sudeepthepade@gmail.com Abstract New approaches

More information

A Lightweight Language for Software Product Lines Architecture Description

A Lightweight Language for Software Product Lines Architecture Description A Lightweight Language for Software Product Lines Architecture Description Eduardo Silva, Ana Luisa Medeiros, Everton Cavalcante, Thais Batista DIMAp Department of Informatics and Applied Mathematics UFRN

More information

TTool Training. I. Introduction to UML

TTool Training. I. Introduction to UML TTool Training I. Introduction to UML Ludovic Apvrille ludovic.apvrille@telecom-paris.fr Eurecom, Office 223 Ludovic Apvrille TTool Training - 2004. Slide #1 Outline of the Training Introduction to UML

More information

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh

UML big picture. Perdita Stevens. School of Informatics University of Edinburgh UML big picture Perdita Stevens School of Informatics University of Edinburgh Plan Whence UML? Parts of UML How it all fits together UML as a language Consistency: what does it mean, do we need it? Defining

More information

Service architecture for 3GPP IP Multimedia Subsystem the IBM and Swisscom proof-of-concept experience

Service architecture for 3GPP IP Multimedia Subsystem the IBM and Swisscom proof-of-concept experience IBM IP Multimedia Subsystem solutions February 2006 architecture for 3GPP IP Multimedia Subsystem the IBM and Swisscom proof-of-concept experience By Xavier Weibel, technology strategist, Application and

More information

VMer Visualized Mobile Designer for Applications on Small Devices

VMer Visualized Mobile Designer for Applications on Small Devices Proc. of the 8th WSEAS Int. Conf. on Mathematical Methods and Computational Techniques in Electrical Engineering, Bucharest, October 16-17, 2006 253 VMer Visualized Mobile Designer for Applications on

More information

Object-Oriented Design

Object-Oriented Design Object-Oriented Design Lecturer: Raman Ramsin Lecture 10: Analysis Packages 1 Analysis Workflow: Packages The analysis workflow consists of the following activities: Architectural analysis Analyze a use

More information

IBM Rational Software Architect

IBM Rational Software Architect Unifying all aspects of software design and development IBM Rational Software Architect A complete design & development toolset Incorporates all the capabilities in IBM Rational Application Developer for

More information

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study

Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Quantifying and Assessing the Merge of Cloned Web-Based System: An Exploratory Study Jadson Santos Department of Informatics and Applied Mathematics Federal University of Rio Grande do Norte, UFRN Natal,

More information

Introduction to Software Engineering. 5. Modeling Objects and Classes

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

More information

Course "Softwaretechnik" Book Chapter 2 Modeling with UML

Course Softwaretechnik Book Chapter 2 Modeling with UML Course "Softwaretechnik" Book Chapter 2 Modeling with UML Lutz Prechelt, Bernd Bruegge, Allen H. Dutoit Freie Universität Berlin, Institut für Informatik http://www.inf.fu-berlin.de/inst/ag-se/ Modeling,

More information