Component-Based Development in J2ME: A Framework for Graphical Interface Development in Mobile Devices
|
|
- Madeleine Johnson
- 5 years ago
- Views:
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 Lecture 18 Department of Computer Engineering Implementation Workflow 1 Implementation Workflow Implementation is primarily about creating code. However, the OO analyst/designer
More informationDemo 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 informationPattern 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 informationPart 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 informationAN 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 informationModeling 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 informationPart 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 information10.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 informationDimensions 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 informationAn 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 informationSemi-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 informationObject-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 informationDesigning 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 informationWho 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 informationTowards 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 informationDesign 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 informationSCOS-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 informationCHAPTER 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 informationReview 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 informationPIP: 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 informationNotation 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 informationRational 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 informationCore 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 informationMapping 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 informationBuild 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 informationMethods 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 informationLESSON 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 informationCourse 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 informationIngegneria 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 informationComponent-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 informationLecture 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 informationA 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 informationOO 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 informationIntroduction 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 informationMetamodeling 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 informationDesign 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 informationSoftware 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 informationQuality-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 informationStarUML 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 informationA 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 informationConfiguration 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 informationGuiding 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 informationSoftware 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 informationObjectives. 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 informationFormal 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 informationIntegrating 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 informationProposal 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 informationSoftware 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 informationObject-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 informationThe 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 informationCapturing 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 information3.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 informationTopic : 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 informationBLU 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 informationGetting 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 informationCHAPTER 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 informationJOURNAL 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 informationc 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 informationDesign 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 informationWP 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 informationIndex. : (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 informationUNIT 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 informationRequirements 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 informationHistory 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 informationOpen 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 informationUML 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 informationApplying 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 informationipprocess: 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 informationCredit 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 informationObject-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 informationTopics. 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 informationApplied 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 information3rd 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 informationDomain 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 informationObject-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 informationPearson 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 informationThe 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 informationOrthographic 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 informationIncremental 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 informationJava 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 informationIntroduction 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 informationThe 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 informationModel 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 informationDomain-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 informationITBIS393 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 informationSE310 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 informationUML 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 informationMapping 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 informationUNIT-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 informationApproaches 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 informationA 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 informationTTool 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 informationUML 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 informationService 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 informationVMer 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 informationObject-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 informationIBM 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 informationQuantifying 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 informationIntroduction 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 informationCourse "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