Rapid Development of Modular Dynamic Web Sites using UML

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Rapid Development of Modular Dynamic Web Sites using UML"

Transcription

1 Rapid Development of Modular Dynamic Web Sites using UML Tim Schattkowsky 1, Marc Lohmann 2 1 Paderborn University, C-LAB, D Paderborn, Germany 2 Paderborn University, Department of Computer Science, D Paderborn, Germany Abstract. Development of dynamic Web sites is often performed by teams consisting of graphic designers and software developers. Communication between these different team members has to be supported with a simple modeling approach that considers their different academical backgrounds. Dynamic Web sites can contain multiple modules that may reappear on different pages. Reuse of both business logic and visual design modules would be desirable. Furthermore, a considerable amount of time is usually consumed by the implementation of data flows that are already defined in the model. Rapid development is enabled by providing roundtrip engineering capabilities with support for automatic code generation. We propose a simple subset of the UML adapted to the problem domain by means of stereotypes as well as a strategy for generating code templates from such models. These templates are tailored to the tasks of each team member. This enables parallel work and automated reintegration of results. Keywords: Unified Modeling Language, Hypermedia, WWW, Object-Oriented Design, Code Generation 1 Introduction There is a growing demand for lightweight methods for the development of smalland medium scale Web applications. Short production time and heavy cost pressure from customers and competitors are major economic factors in the development process of these systems. Heavyweight development processes would introduce expensive overhead into such projects, which cannot be economically compensated by the process s benefits. The development teams for such Web applications consist of people with different skills and academic backgrounds [10]. These people use different languages to communicate their ideas which leads to misunderstandings. This may cause expensive redesigns. In order to support successful communication, a common language is required, which is understandable to people of different background. The Unified Modeling Language (UML) [3,11] fulfills this requirement by providing a family of

2 intuitive diagrammatic notations by which a software system can be described at a high level of abstraction. The different views and backgrounds of the team members have to be supported by the models. These models have to be focused on the information relevant to the different roles in the development team. In many cases, we can distinguish between the domain expert, who has knowledge about the business processes behind the Web application, the graphic designer, who is in charge of the creation of the user interface, usually consisting of HTML pages, and the developer, who has to build a working software system based on the work of his partners. Furthermore, we have the customer, who has little knowledge about the technical realization of the project. As a result, another requirement for a Web application engineering methodology is the support for the views and backgrounds of different roles in development teams. On the more technical side, many Web applications are based on dynamic Web pages generated by scripts written in a language like PHP [1], Microsoft s Active Server Pages (ASP) [9] or Java Server Pages (JSP) [12]. Thus, these Web applications are in fact dynamic Web sites. This introduces a problem into the development process. The responsibilities for the script and the design of the generated pages are split between developer and graphic designer. Furthermore, these scripting languages usually lead to a mixture of business logic and design elements within one software module. This has to be clearly separated into separate modules to allow the reuse of both logic and design modules. The method we propose enforces modularization of Web applications. This enables the team members to work concurrently on different modules of a Web page and to consistently integrate their results. Many small and medium scale Web applications only have small business logic. For such systems, the realization of data input, transport and presentation consumes a considerable amount of production time. A modeling approach for dynamic Web sites should support automatic code generation and thus safe production time. The models should also yield a complete structural description of the Web site. This enables the generation of a working incomplete prototype without design elements and business logic and enables rapid prototyping. Such a prototype allows early demonstrations, which are very important for customer communication. We propose a lightweight UML-based approach to modeling small and medium sized Web applications aiming at the above requirements. The approach employs specific use case diagrams, activity diagrams and class diagrams in order to capture the fundamental structural and behavioral aspects of a Web application while providing different views on these aspects according to the needs of different team members. Using the running example of an online reservation system, we demonstrate the derivation of code templates in HTML and PHP from the models. 2 Related Work In this section, we briefly discuss different approaches to the modeling of Web applications. Some focus on the modeling notation, like Conallen who proposes an extension to the UML. Other focuses on the development process, for example [2, 7], WebML or WSDM.

3 Conallen [5] defines a UML profile for Web application design. He introduces stereotypes for components, classes, methods and associations in order to distinguish, for example, server components, client components, server pages, etc. The approach covers the modeling of layout and implementation aspects. However, he does not support modularization besides using frames. Koch and others [2, 7] are describing a hypermedia extension to the UML to model Web applications, focusing on the navigation and the user interface. The conceptual model consists of a class diagram identifying the objects of the problem domain and their relations. The navigation structure is described by a class diagram specifying navigational nodes and links. The presentation model defines the structure of the user interface by means of composite objects and their dynamic behavior by state diagrams. Further, presentation objects are used to describe the concrete layout of the user interface. This approach seems to be oversized for small applications whose interface consists of simple HTML pages. Our modeling approach focuses on those aspects that are important for the cooperation between developers, graphic designers, and domain experts, leaving user interface design and layout to the graphic designer. The Web Modeling Language (WebML) [4] is a notation for specifying complex Web sites at a conceptual level. It distinguishes between a structural model, a composition model, and the topology of links between pages. Further, WebML lets you define layout and graphic requirements for page rendering and includes a personalization model. WebML also addresses the issue of different kinds of specialist playing different roles. WSDM (Web Site Design Method) [6] is a user centered approach. The starting point is a set of potential visitors of a Web site which are classified into user classes. The available data is modeled on the basis of the information requirements of the users. WSDM describes a four phase process: user modeling, conceptual design, implementation design, and implementation. The user modeling phase consists of two sub-phases, the user classification and the user class description. With the user classification the audience of the Web site are identified and classified. Different user classes perform different activities on the Web site. The user class description contains information requirements and the characteristics of the user classes. The conceptual design phase consists of the two sub-phases of object modeling and navigational design. Within object modeling, the information requirements of different user classes with their different perspectives are formalized. How the different users can navigate through the Web site is described within the navigation model. This method defines its own graphical notation for the objects of the navigation model and does not distinguish different views for designer and application developer. 3 Design Methodology 3.1 A Conceptual Model for Web Applications Small and medium size Web applications usually are based on dynamic Web pages using server side scripting. Fig. 1 shows a simple abstract model for such Web

4 applications. All interactions in these Web applications are based on Web pages. We have to distinguish between a client page and the server page generating the client page. Static and dynamic Web pages are usually distinguished. For a static page, the client page is a simple client side copy of the server page. In the case of a dynamic page, a server side program is computing the client page. A dynamic page is usually implemented using some scripting language like PHP, JSP or ASP. This script generates the client page to be displayed by the client. For Web applications, all Web pages can be regarded as dynamic pages, since a static page is a special case of a dynamic page. Hence, we do not have to distinguish between static and dynamic pages in our model. Client Server ClientPageModule consists of ClientPage generates 1 ServerPage «use» BusinessLogic LogicInterface DesignElement Hyperlink DesignTemplate «use» Fig. 1: Abstract Model of Web applications Client pages consist of different modules. These modules are either pure design elements or logic interfaces. Such logic interfaces enable the user on the client side to interact with the server side business logic. The interaction between the client and the server is achieved through hyperlinks. The activation of such a hyperlink may also cause the transmission of data from the client to the server, i.e., as HTML form data ( post ) or URL-encoded ( get ). This data is used by the server page to compute a new client page. Thus, the business logic is contained in the dynamic pages on the server side. These pages also have design templates that define the visual appearance of the client page. A client page may contain hyperlinks to different server pages. While this model captures dynamic Web sites at a high level, it is not precise enough to support the development process and overcome common problems. Currently, many small- and medium size Web systems suffer from the mix of presentation and business logic in the code modules. These systems are implemented very straightforwardly using monolithic scripts, but certain parts of the business logic and the design are relevant for more than one server page and should be reused. Let us consider the example of a hotel reservation system where a business logic module computes the price for a room reservation. This module may be relevant for both a server page offering to place the reservation as well as for verifying the validity of the price of a confirmed reservation when booking this reservation. This raises the need for reuse of the business logic. Such a reuse is common sense for normal software development. For Web application development, this is still an important issue [8]. Our model supports the reuse of logic modules, because a logic module may be associated to multiple server pages. In our example, the module implementing the logic for computing the price for a reservation would be associated to both server pages mentioned above. We consider a Web page as a composition of reusable modules. From the model in Fig. 1 we can derive two kinds of modules. The logic module encapsulates a part of

5 the business logic while the design module represents a reusable part of the design template. These modules have both client side (client page module) and server side (server page module) representations. The client side subtypes of these modules are the design element representing a reusable design module and the logic interface representing the interface of a logic module. Since the logic modules in our model are also responsible for the generation of client page modules, they still combine logic and presentation. We have to decompose these logic modules into smaller modules (see Fig. 2). This allows us to encapsulate and separate these two aspects. Thus, we achieve a separation of the business logic and the presentation of the computed data. The different use cases of a logic module will be described as workflows composed from logic module elements. Client ClientPage consists of ClientPageModule DesignElement LogicInterface Hyperlink generates represents represents 1 Server ServerPage contains Serv erpagemodule contains DesignModule represents LogicModule represents Link BeginUseCase UseCase LogicElement next generated by 1 uses posts Alternativ e allows UserDecision ServerDecision evaluates result of PersistentData uses Data Processor InputData uses OutputData computes renders Renderer Fig. 2: Complete conceptual model for Web applications

6 A renderer module generates the logic interface client page module representing a server side logic module. However, the renderer module is not intended to compute any function on its input data besides the presentation. Such computations belong to the business logic and are located in processor modules associated to the logic module. The data used by the renderer will usually be produced by a subset of the processors using input data from links and persistent data. In cases where no such data exists, the renderer produces always the same client page module and could be replaced by a corresponding design module. The user interacts with the system via hyperlinks. Therefore, these hyperlinks have to be utilized to integrate user interaction into the workflows. Within a workflow, these Links represent user decisions. We consider such links as single alternatives related to a user decision. Links are also needed to begin a certain use case. Fig. 2 presents a complete conceptual model including the presented concepts. This model allows the description of dynamic Web sites on a considerable level of precision that is suitable for customer communication as well as for code generation and rapid prototyping. 3.2 Modeling In order to support the capturing and presentation of requirements, UML use case diagrams are employed. They describe the fundamental functional aspect of the system from the perspectives of different users. We will use a simple example to illustrate our approach. This example is a hotel reservation system. The system provides the usual functionality of placing and cancellation a reservation and includes views for both the guest and the hotel clerk. Fig. 3 shows the use case diagram for this system. Reservation System Cancel Reservation Guest Place Reservation «include» «include» Manage Reservations Clerk Fig. 3: Reservation System - use case diagram Since the use case diagrams will later be used for code generation, we introduce additional semantics which influence the use of these diagrams. The root use case diagram is intended to provide the initial views of the system s functionality. A starting module for every actor can be generated from this diagram. The actors represent different roles for users of the Web application. In our example, the clerk may act like a guest, e.g., to execute the guest s orders, or perform administrative work that is not intended to be done by guests. This is a very usual and general distinction which can be found in almost any Web application. In our approach, a use case has to be detailed by an activity diagram or other use cases (possibly in a different use case diagram). Thus, at the lowest level all use cases

7 are described by activity diagrams. Such an activity diagram will describe the interactions between client and server as well as possible user interactions on the client side. Fig. 4 shows the activity diagram detailing the Place Reservation use case from the use case diagram above. Fig. 4: Place Reservation activity diagram The activity diagram detailing a use case has three areas. Swimlanes separate client and server from the communication. Only object flows and control flows are valid model elements for the communication area. In the client and server areas, we use stereotyped actions according to the conceptual model (see Fig. 2). «LogicInterface»is the only valid action stereotype for the client side, as «Processor» and «Renderer» are for the server side. Thus, dynamic modules will be modeled as subactivity graphs containing invocations of the associated renderers and processors as action states. Choice nodes may be used to evaluate the return value from a processor and make a decision between different execution flows. These execution flows may end in different renderers. The business logic will be contained in action states, which have to be detailed to provide the actual implementation of a certain action. To extract the server side subgraph related to a dynamic module, the graph has to be traced from an incoming control- or object flow to all reachable renderers. The client side subgraph can be found by tracing from all the renderers in the server side subgraph to the links. These two subgraphs are the basis for the code generation from the activity diagram, as they contain the description of both the behavior and the structure of a dynamic page. The necessary data information can be extracted from the type definition of the instances in the object flow. A data structure class diagram will be used for the description of the data processed by the Web application. This diagram shows the structure and composition of both transient and persistent data. All data passed in the activity diagrams using object flows has to be typed consistently with this class diagram. Fig. 5 shows the part of the class diagram for our reservation example, which is relevant to our example use case Place Reservation.

8 Fig. 5: Part of the Reservation System data structure class diagram It is important to distinguish between display data and editable data in the object flows. This information is essential for later code generation. Therefore, the objects in these object flows are assumed to be in a composite state according to the state chart diagram shown in Fig. 6. The state also reflects the persistence of the object. Persistent objects allow the generation of pure references in cases when data is only intended for parameter passing to the next activity. Fig. 6: Data Flow Object State To add business logic details to an activity diagram, the «Processor» actions can be detailed using a subactivity diagram. This diagram may contain action states as well as object flows that are typed consistently with the class diagram. Actions in this diagram may be detailed by a diagram of the same kind. The return values of the action states can be checked in guards. For the subactivity diagram related to those action states, the name of last action state visited will be considered as the return value to the parent activity diagram. Serv erpage contains Serv erpagemodule contains Link DesignModule LogicModule Alternativ e BeginUseCase UseCase LogicElement next 1 uses UserDecision allows Fig. 7: Metamodel for site structure diagrams

9 To compose the server page modules to server pages we have to relate certain elements from our conceptual model. Fig. 7 shows a metamodel containing the relevant elements from the conceptual model shown in Fig. 2. Instances of this metamodel are employed as a site map tailored to the specific needs described above. The model supports the reuse of server page modules and the integration of the behavioral description via associations to use cases, logic modules and their logic elements. Fig. 8 shows an example for a simple site structure diagram of our reservation system example. The semantics of a link between a design module and a server page depends on the subtype of link (see Fig. 7) used. While the basic link type indicates a simple link to another server page, the «BeginUseCase» link indicates that the associated use case will be executed by the target server pages. This implies that the target server page must have an association to the corresponding logic module. In our example, the use case PlaceReservation is part of the logic module ReservationSystem. Thus, the target server page for the «BeginUseCase» link associated to PlaceReservation must contain the corresponding ReservationSystem logic module. Since the corresponding logic module is determined by the composition between the use case and that logic module there is no need to explicitly associate the target logic module to the link. The same principle applies to «Alternative» links. These links indicate a change in the surrounding page within a use case. This implies that the corresponding logic module must be the link source logic and the target server page must be associated to the same logic module to provide a valid structural environment for the use case. «BeginUseCase» + UseCase: = PlaceReservation «DesignModule» Nav igationbar «ServerPage» Reservation «LogicModule» ReservationSystem «Link» «Link» «DesignModule» Greetings «ServerPage» WelcomePage «DesignModule» CommonElements «DesignModule» Header Fig. 8: Site structure diagram for the reservation system example Jointly the presented models form a complete structural and behavioral description of those parts of the Web application, which are needed for the communication within the development team and with the customer. Furthermore, the model can be used for code generation leading to rapid prototyping from the model. 4 Code Generation from Models In the following, we explain how the models in our approach can be used for the generation of a running prototype using PHP as the scripting language. We will

10 describe our approach on a per-diagram basis. This will yield the necessary server side modules to create a complete running prototype. 4.1 Use Case Diagrams We mainly apply the use case diagrams to generate HTML modules for the designer of the Web pages. A HTML module, consisting at first on of a set of links, will be generated for each actor in the use case diagram. Each of these links is generated from a use case the actor is connected with. The link either references a page including a HTML module for starting a workflow modeled by an activity diagram or a HTML page including another static HTML module derived from a use case diagram detailing a top-level use case of the corresponding link. As a result, a tree of modules generated from more and more refined use cases is obtained. The developer can use these HTML modules to test the whole Web application. Therefore, the HTML modules have to be embedded in complete Web pages, as explained later in section 4.3. For example, from the use case diagram in Fig. 3 two HTML modules are obtained. The HTML module generated for the clerk (see below) consists of three links. All three links are referencing a server page, which includes modules to accomplish the corresponding use cases. The names to reference the server pages are taken from the site structure diagram, where the embedding of the modules in server pages is modeled. To show the correct module in the server page, it has to be referenced with parameters specifying the logic module and the use case to perform. The following HTML extract is an example for a module, which is possible integrated in a page, where the clerk can start all for him possible use cases. <h1>starting module of Reservation System (clerk)</h1> <a href="reservation.php?module=reservationsystem& usecase=placereservation>place Reservation</a><br> <a href="reservation.php?module=reservationsystem& usecase=cancelreservation>cancel Reservation</a><br> <a href="reservation.php?module=reservationsystem& usecase=managereservation>manage Reservation</a><br> 4.2 Activity Diagrams The separation of logic and presentation in the activity diagrams is achieved by the usage of renderer and processor logic modules. Thus, the renderer modules fall into the domain of the graphic designer while the developer hast to implement the processor modules. Both need specific templates for their work. The developer will receive a PHP module containing the declaration of an empty function with the correct input and output parameters according to the object flows in the activity diagrams. The body of this function will receive the actual logic code. The designer will receive a sample client page module in HTML. The appearance of this HTML module can be modified, but certain markers have to be preserved to allow the reintegration of the work into the prototype.

11 The workflows in the activity diagrams are segmented by system border crossings. These server side segments between such border crossings are relevant for the generation of the code modules to be integrated into the actual server pages. These code modules represent segments of the flow chart that either start with the initial state from the activity diagram or with the crossing of the system boundary after a logic interface and end with the related renderes. A single code module has to be generated for every one of these segments. This code module consists only of calls to code related to renderers and processors, as these are the only valid logic elements on the server side. As an example, we will now discuss a PHP for the segment starting with the activity Validate of Fig. 4. It represents the starting point of a series of activities on the server side, started by the client. Within this script part, the functions corresponding to the following activities on the server side are called. Guards in the activity diagram represent decisions and are used for the generation of adequate ifelse-clauses. The functions corresponding to the activities following a decision in the activity diagram are inserted in an if-else-clause. From activity diagrams for subactivities refining an activity, script templates can be generated on a similar way. <?php include("process_validate.php"); include("process_computepricing.php"); include("render_displaypricing.php"); include("render_periodnotavailable.php"); // Build Period:TimePeriod from form data... $ValidateResult=Process_Validate_Impl($Period); if($validateresult['result']=='timeperiod available') { $computepricingresult=process_computepricing_impl($period); Render_DisplayPricing_Impl($computePricingResult['Pricing']); } else Render_PeriodNotAvailable_Impl($TimePeriod);?> For implementing the business logic, script fragments are generated for activities with the stereotype Processor on the server side of the activity diagram. For every processor, a PHP module will be generated. If the processor action is detailed by a subactivity diagram, this module will contain a function implementing the complete control flow from the subactivity diagram. This code is generated as described above. Since the subactivity diagrams are completely located on the serverside, no segmentation is necessary. For processor modules, no work has to be done by the graphic designer. The page renderer module is interesting for the graphic designer only. The generated server page module will be used for the generation of a design template, which can be modified by the designer. This modified template will be transformed back into an updated renderer reflecting the design changes. This renderer can be integrated back into the running prototype. The developer may notice the calling of the corresponding renderer implementations in the script modules for a flow chart segment, but these modules are not to be altered manually.

12 A renderer module has to render the data outgoing by an object flow from server to client side. This means all attributes of the class the transferred object is an instance of, have to be handled depending of the state of the transferred object. Further, the script must contain information about data sent back to the server after an activity of a user. This data send back to the server can be derived from objects transmitted from client to server if you follow the path from the renderer activity on the server side. This information returned to the server is generated by the renderer script in form of HTML links or forms. A link is generated if the object transferred from client to server side has no corresponding incoming object in the editable state. Otherwise, a form has to be generated. For hidden persistent objects, a reference can be transferred instead of the actual data. The generated template for the renderer DisplayPricing is shown in the following script. First a HTML table is created to ensure a clear layout of the HTML module derived for the designer. The table consists of two parts. The header of the table contains the names of the variables of the class Reservation. The table rows are used to display the contents of the appropriate variables representing the transferred object. Further the generated script contains two links. These links are automatically created and information, which has to be returned to the server, is encoded in these links by means of the function URLEncodePricing. <?php include("typeurlencoding.php"); function Render_DisplayPricing_Impl($Reservation) { // Table print('<table>'); // table header with name of attributes print('<tr>'); print('<td>startdate</td>');... print('</tr>'); // row with input data: print('<tr>'); print('<td>.$reservation['startdate'].</td>');... print('</tr>'); print('</table>'); print('<a href="reservation.php?'); URLEncodePricing($Reservation); Print('>Accept</a><br>'); print('<a href="generateinputpage.php?'); URLEncodePricing($Reservation); print('>requestalternatives</a><br>'); }?> 4.3 Site Structure Diagram In section 3.2 we have explained how a designer can layout a Web site with a site structure diagram. In the following, we want to show how this site structure diagram

13 can be used to generate HTML code for the designer, to take this as a basis to layout the Web site. Further, it can be used to create a running prototype for testing the Web application. To layout a Web site the designer needs a server page to work with HTML-editor. Therefore, we want some tool-support, to enable the designer to check out a server page by selecting it in the class diagram. This page consists of different HTML modules. After editing the server page, it has to be checked in, including the different modules. If you check out a server page containing formerly edited modules, the edited modules are checked out, to enable a corporate design for all server pages. The generated code for a server page consists of different HTML modules grouped to one site. The modules are generated from the use case diagrams and the activity diagrams, as formerly explained. Further, some preparations in the code for a complete server page have to be made to enable a check in of the different modules, when checking in a complete Web site. The different HTML modules are organized in blocks, embedded some organizing information to mark the block to allow an automatic check in of the different modules of the site. This blocking information, which can be encoded in HTML comments, is not visible to the designer when using a HTML editor. Therefore, we need a visual representation of a block. If not using a special adapted HTML editor, which visualizes the different blocks based on the blocking information, another visual representation for the designer is needed. A possible solution is to use HTML tables to emphasis the blocks in a normal HTML browser. An example for a complete checked out server page is shown in the following example. <html><head><title>reservation</title></head><body> <table border="1"><tr><td> <!-- begin Header --> // no automatically generated code inserted here <!-- end Header --> </td></tr></table> <table border="1"><tr><td> <!-- begin NavigationBar --> <a href="reservation.php?module=reservationsystem& usecase=placereservation>place Reservation</a><br> <!-- end NavigationBar --> </td></tr></table> <table border="1"><tr><td> <!-- begin MyReservationSystem --> // code from script PlaceReservation inserted here <!-- end MyReservationSystem --> </td></tr></table> </body></html> When the designer creates a layout for the server page, she/he has to make sure, that the comments for the later check in of the different modules are always enclosing the corresponding block. This means the designer can edit the different modules by editing the different blocks and she/he can edit the whole side by inserting new design elements and she/he can arrange the different block with cut & paste mechanism to ensure not to delete the different comments for a later check in.

14 5 Support for Roles The presented design methodology yields models that support the different roles in the development process. For the graphic designer, the client pages to be designed are the artifacts of his/her work. The customer will usually pay for the design on a per client page basis. In our approach, the number of client pages can be computed from the models. Furthermore, the models allow fine-grained cost estimation based on the number of modules and server pages. The graphic designer can use the client side modules produced by the prototype, as a starting point for his/her work. For logic interface modules, these client side modules can be prepared to be transformed into renderers. Manual integration by the developer is no longer needed here. Still, the graphic designer has to follow certain rules when working with the prototype client side modules to preserve their compatibility with the model. The developer is supported by the proposed methodology in several ways. It ensures a certain architecture that provides a framework for his/her work. This architecture enables changes in the presentation without direct interference of the developer, as well as the reuse of business logic modules. This is not common today for small systems, i.e., built using scripting languages like PHP. The automatic code generation can save a lot of work, especially for coding data passing and module interfaces. Thus, the developer can concentrate his work on the implementation of the business logic. Furthermore, cost calculation on a per module basis is possible. The domain expert has to have a clear understanding of the business models behind the Web application. He usually is a representative of the customer. His/her knowledge can be used as a basis for the communication between the domain expert and the rest of the team. Most likely, the domain expert will be familiar with flow charts for the description of business processes. Activity diagrams, unlike the sequence diagrams sometimes employed in such cases, are close to flow charts in appearance and semantics. Furthermore, the site structure diagram is familiar to the site maps usually employed to describe the structure of a Web site. Thus, the models in our approach provide a good basis for communication with the domain expert. The communication with the customer is a critical issue especially for the development of tailored solutions like small and medium Web applications. The customer is often very involved in the development process and contributes not only his domain specific knowledge, but also additional input like a corporate design. It is necessary to have an adequate basis for precise communication with the customer. This foundation has to be simple and intuitive, just like the UML diagrams employed in our approach. They can be used for communication even in cases, where the exact semantics of the diagrams are unknown to the customer. Furthermore, both design and logical issues can be communicated using the running prototype. 6 Conclusion & Future Work We presented an approach to rapid development of small and medium size dynamic Web applications based on reusable logic and design modules. Our approach is a use case-based process whose modeling techniques are based on UML diagrams

15 extended by some stereotypes. We limit ourselves to the small UML subset of specific use case diagrams, activity diagrams, and class diagrams. We support common roles in the development team as well as customer communication through a unified model containing different non-redundant views of the dynamic Web site. The proposed diagrams are chosen carefully to reflect the needs of the different persons involved in the development process of a dynamic Web site. In our approach, Web pages are composed from modules. Logic and design are separated into different module types. This allows the reuse of both logic and design modules across several Web pages. Furthermore, we propose a strategy to generate script and design templates for Web pages composed from such modules. These templates have to be adapted by the developer or designer. This saves a considerable amount of work, because all trivial structural dependencies - including the module structure - are already generated. For the developer, data passing and modular integration is already generated. The graphic designer does no longer have to manage his design modules manually. With suitable tool support, automated management and reintegration of the modules is possible. Future work will include a prototype implementation of an environment supporting the described methodology with module management and code generation. This prototype has to be evaluated in practical case studies. Furthermore, a more intuitive visual representation of the models will be developed to address end user needs. 7 References 1. Apache Software Foundation, The: PHP December Baumeister, H., Koch, N., Mandel, L.: Towards a UML extension for hypermedia design. May Booch, G., Rumbaugh, J., Jacobson, I.: The Unified Modeling Language User Guide. Addison Wesley Ceri, S., Fraternali, P., Bongio, A.: Web Modeling Language (WebML): a modeling language for designing Web sites. Ninth International World Wide Web Conference, May Conallen, J.: Building Web Applications with UML. The Addison-Wesley Object Technology Series, De Troyer, O., Leune, C.: WSDM: A User Centered Design Method for Web Sites. Seventh International World Wide Web Conference, April Hennicker, R., Koch, N.: Systematic Design of Web Applications with UML. In: Siau, K., Halpin, T., editors: Unified Modeling Language: Systems Analysis, Design and Development Issues. IDEA Group Publishing, Lowe, D., Henderson-Sellers, B.: Characteristics of Web Development Processes. In: SSGRR-2001: Infrastructure for E-Business, E-Education, and E- Science Microsoft Corporation: Active Server Pages Guide. MSDN, McDonald, A., Welland, R.: Web Engineering in Practice. Proceedings of the Fourth WWW10 Workshop on Web Engineering, 21-30, May Object Management Group, The: UML Specification, Version Sun Microsystems: JavaServer Pages TM 1.2 Specification. September 2001

ProGUM-Web: Tool Support for Model-Based Development of Web Applications

ProGUM-Web: Tool Support for Model-Based Development of Web Applications ProGUM-Web: Tool Support for Model-Based Development of Web Applications Marc Lohmann 1, Stefan Sauer 1, and Tim Schattkowsky 2 1 University of Paderborn, Computer Science, D 33095 Paderborn, Germany {mlohmann,sauer}@upb.de

More information

Modeling the User Interface of Web Applications with UML

Modeling the User Interface of Web Applications with UML Modeling the User Interface of Web Applications with UML Rolf Hennicker,Nora Koch,2 Institute of Computer Science Ludwig-Maximilians-University Munich Oettingenstr. 67 80538 München, Germany {kochn,hennicke}@informatik.uni-muenchen.de

More information

The Expressive Power of UML-based Web Engineering 1

The Expressive Power of UML-based Web Engineering 1 The Expressive Power of UML-based Web Engineering 1 NORA KOCH AND ANDREAS KRAUS Ludwig-Maximilians-Universität München. Germany UML-based Web Engineering (UWE) is a development process for Web applications

More information

Tool Support for Software Variability Management and Product Derivation in Software Product Lines

Tool Support for Software Variability Management and Product Derivation in Software Product Lines Tool Support for Software Variability Management and Product Derivation in Software s Hassan Gomaa 1, Michael E. Shin 2 1 Dept. of Information and Software Engineering, George Mason University, Fairfax,

More information

Generating Aspect Code from UML Models

Generating Aspect Code from UML Models Generating Aspect Code from UML Models Iris Groher Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich, Germany Iris.Groher@fh-hagenberg.at Stefan Schulze Siemens AG, CT SE 2 Otto-Hahn-Ring 6 81739 Munich,

More information

New UML 2.0 based models to design WAP applications

New UML 2.0 based models to design WAP applications New UML 2.0 based models to design WAP applications Ricardo Soto De Giorgis School of Informatic Engineering, Pontifical Catholic University of Valparaíso, Chile 56 32 273762 ricardo.soto@ucv.cl Nibaldo

More information

Systematic Design of Web Applications with UML

Systematic Design of Web Applications with UML Systematic Design of Web Applications with UML Rolf Hennicker Nora Koch,2 Institute of Computer Science Ludwig-Maximilians University of Munich Oettingenstr. 67, D-80538 München, Germany {hennicke,kochn}@informatik.uni-muenchen.de

More information

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram.

PHP Code Design. The data structure of a relational database can be represented with a Data Model diagram, also called an Entity-Relation diagram. PHP Code Design PHP is a server-side, open-source, HTML-embedded scripting language used to drive many of the world s most popular web sites. All major web servers support PHP enabling normal HMTL pages

More information

Modeling Web Applications Using Java And XML Related Technologies

Modeling Web Applications Using Java And XML Related Technologies Modeling Web Applications Using Java And XML Related Technologies Sam Chung Computing & Stware Systems Institute Technology University Washington Tacoma Tacoma, WA 98402. USA chungsa@u.washington.edu Yun-Sik

More information

The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools

The Architectural Design of FRUIT: A Family of Retargetable User Interface Tools The Architectural Design of : A Family of Retargetable User Interface Tools Yi Liu Computer Science University of Mississippi University, MS 38677 H. Conrad Cunningham Computer Science University of Mississippi

More information

Winery A Modeling Tool for TOSCA-based Cloud Applications

Winery A Modeling Tool for TOSCA-based Cloud Applications Institute of Architecture of Application Systems Winery A Modeling Tool for TOSCA-based Cloud Applications Oliver Kopp 1,2, Tobias Binz 2, Uwe Breitenbücher 2, and Frank Leymann 2 1 IPVS, 2 IAAS, University

More information

Component visualization methods for large legacy software in C/C++

Component visualization methods for large legacy software in C/C++ Annales Mathematicae et Informaticae 44 (2015) pp. 23 33 http://ami.ektf.hu Component visualization methods for large legacy software in C/C++ Máté Cserép a, Dániel Krupp b a Eötvös Loránd University mcserep@caesar.elte.hu

More information

Increasing Development Knowledge with EPFC

Increasing Development Knowledge with EPFC The Eclipse Process Framework Composer Increasing Development Knowledge with EPFC Are all your developers on the same page? Are they all using the best practices and the same best practices for agile,

More information

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

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

More information

Business Modeling with UML

Business Modeling with UML Business Modeling with UML Hans-Erik Eriksson and Magnus Penker, Open Training Hans-Erik In order to keep up and be competitive, all companies Ericsson is and enterprises must assess the quality of their

More information

Chapter 5. Regression Testing of Web-Components

Chapter 5. Regression Testing of Web-Components Chapter 5 Regression Testing of Web-Components With emergence of services and information over the internet and intranet, Web sites have become complex. Web components and their underlying parts are evolving

More information

UML-based Test Generation and Execution

UML-based Test Generation and Execution UML-based Test Generation and Execution Jean Hartmann, Marlon Vieira, Herb Foster, Axel Ruder Siemens Corporate Research, Inc. 755 College Road East Princeton NJ 08540, USA jeanhartmann@siemens.com ABSTRACT

More information

Robust Object Oriented System Analysis

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

More information

RUP Design Workflow. Michael Fourman Cs2 Software Engineering

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

More information

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT

A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT A SYSTEMATIC APPROACH FOR COMPONENT-BASED SOFTWARE DEVELOPMENT Cléver Ricardo Guareis de Farias, Marten van Sinderen and Luís Ferreira Pires Centre for Telematics and Information Technology (CTIT) PO Box

More information

A Framework of Model-Driven Web Application Testing

A Framework of Model-Driven Web Application Testing A Framework of Model-Driven Web Application Testing Nuo Li, Qin-qin Ma, Ji Wu, Mao-zhong Jin, Chao Liu Software Engineering Institute, School of Computer Science and Engineering, Beihang University, China

More information

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

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

More information

MDA Transformations Applied to Web Application Development 1

MDA Transformations Applied to Web Application Development 1 MDA Transformations Applied to Web Application Development 1 Santiago Meliá 1, Andreas Kraus 2, and Nora Koch 2, 3 1 Universidad de Alicante, Spain 2 Ludwig-Maximilians-Universität München, Germany 3 F.A.S.T

More information

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application

UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application UML-based Conceptual Design Approach for Modeling Complex Processes in Web Application Siti Azreena Mubin Faculty of Computer Science and Information Technology, Universiti Putra Malaysia, 43400 Serdang,

More information

Scenario-based Requirements Engineering and User-Interface Design

Scenario-based Requirements Engineering and User-Interface Design Scenario-based Requirements Engineering and User-Interface Institut für Computertechnik ICT Institute of Computer Technology Hermann Kaindl Vienna University of Technology, ICT Austria kaindl@ict.tuwien.ac.at

More information

Automated Modeling of Legacy Systems Using the UML

Automated Modeling of Legacy Systems Using the UML Automated Modeling of Legacy Systems Using the UML by Pan-Wei Ng Software Engineering Specialist Rational Software Singapore Poor documentation is one of the major challenges of supporting legacy systems;

More information

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation

Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation Evaluation of a Use-Case-Driven Requirements Analysis Tool Employing Web UI Prototype Generation SHINPEI OGATA Course of Functional Control Systems, Graduate School of Engineering Shibaura Institute of

More information

Lightweight Data Integration using the WebComposition Data Grid Service

Lightweight Data Integration using the WebComposition Data Grid Service Lightweight Data Integration using the WebComposition Data Grid Service Ralph Sommermeier 1, Andreas Heil 2, Martin Gaedke 1 1 Chemnitz University of Technology, Faculty of Computer Science, Distributed

More information

Web Presentation Layer Architecture

Web Presentation Layer Architecture Chapter 4 Web Presentation Layer Architecture In this chapter we provide a discussion of important current approaches to web interface programming based on the Model 2 architecture [59]. From the results

More information

i-questionnaire A Software Service Tool for Data

i-questionnaire A Software Service Tool for Data i-questionnaire A Software Service Tool for Data Analysis in e-business 1 ANDY S.Y. LAI, 2 Y.C. POON 1, Department of Information and Communications Technology, Hong Kong Institute of Vocational Education,

More information

Specification of the UFT Web-Based Fitness Tracking Software

Specification of the UFT Web-Based Fitness Tracking Software Specification of the UFT Web-Based Fitness Tracking Software STEVEN ARNOLD, CATHY OSTERHOUT, CHUL YIM, SERGIU DASCALU Department of Computer Science University of Nevada, Reno 1664 N. Virginia St., Reno,

More information

Bitrix Site Manager 4.1. User Guide

Bitrix Site Manager 4.1. User Guide Bitrix Site Manager 4.1 User Guide 2 Contents REGISTRATION AND AUTHORISATION...3 SITE SECTIONS...5 Creating a section...6 Changing the section properties...8 SITE PAGES...9 Creating a page...10 Editing

More information

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

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

More information

A Brief Analysis of Web Design Patterns

A Brief Analysis of Web Design Patterns A Brief Analysis of Web Design Patterns Ginny Sharma M.Tech Student, Dept. of CSE, MRIU Faridabad, Haryana, India Abstract Design patterns document good design solutions to a recurring problem in a particular

More information

Information system for production and mounting of plastic windows

Information system for production and mounting of plastic windows Information system for production and mounting of plastic windows MARCEL, MELIŠ Slovak University of Technology - Faculty of Material Sciences and Technology in Trnava, Paulínska 16 street, Trnava, 917

More information

CHAPTER 20 TESING WEB APPLICATIONS. Overview

CHAPTER 20 TESING WEB APPLICATIONS. Overview CHAPTER 20 TESING WEB APPLICATIONS Overview The chapter describes the Web testing. Web testing is a collection of activities whose purpose is to uncover errors in WebApp content, function, usability, navigability,

More information

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture

Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Systematization of Requirements Definition for Software Development Processes with a Business Modeling Architecture Delmir de Azevedo Junior 1 and Renato de Campos 2 1 Petrobras University, Republican

More information

Turning Emergency Plans into Executable

Turning Emergency Plans into Executable Turning Emergency Plans into Executable Artifacts José H. Canós-Cerdá, Juan Sánchez-Díaz, Vicent Orts, Mª Carmen Penadés ISSI-DSIC Universitat Politècnica de València, Spain {jhcanos jsanchez mpenades}@dsic.upv.es

More information

UML SUPPORTED SOFTWARE DESIGN

UML SUPPORTED SOFTWARE DESIGN UML SUPPORTED SOFTWARE DESIGN Darko Gvozdanović, Saša Dešić, Darko Huljenić Ericsson Nikola Tesla d.d., Krapinska 45, HR-0000 Zagreb, Croatia, tel.: +385 365 3889, faks: +385 365 3548, e-mail: darko.gvozdanovic@etk.ericsson.se

More information

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB

Case Studies of Running the Platform. NetBeans UML Servlet JSP GlassFish EJB September Case Studies of Running the Platform NetBeans UML Servlet JSP GlassFish EJB In this project we display in the browser the Hello World, Everyone! message created in the session bean with servlets

More information

An introduction to creating JSF applications in Rational Application Developer Version 8.0

An introduction to creating JSF applications in Rational Application Developer Version 8.0 An introduction to creating JSF applications in Rational Application Developer Version 8.0 September 2010 Copyright IBM Corporation 2010. 1 Overview Although you can use several Web technologies to create

More information

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note

Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Chapter 3 Chapter 3 Service-Oriented Computing and SOA Lecture Note Text book of CPET 545 Service-Oriented Architecture and Enterprise Application: SOA Principles of Service Design, by Thomas Erl, ISBN

More information

[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com

[1] http://en.wikipedia.org/wiki/first-mover_advantage [2] http://www.acunote.com -Gene Sher Software Development Processes: Those in engineering and science will sooner or later either be members of teams solving some large project, or be managing teams solving some large project.

More information

Generating Web Applications from Process Models

Generating Web Applications from Process Models Generating Web Applications from Process Models Jan Schulz-Hofen, Silvan Golega Hasso-Plattner-Institute for Software Systems Engineering Prof.-Dr.-Helmert-Str. 2-3 D-14482 Potsdam, Germany {jan.schulz-hofen,

More information

Information systems modelling UML and service description languages

Information systems modelling UML and service description languages Internet Engineering Tomasz Babczyński, Zofia Kruczkiewicz Tomasz Kubik Information systems modelling UML and service description languages Student Contact Hours: 25.02.2015- Location: 325 C3 room 25.03.2015:

More information

A DIAGRAM APPROACH TO AUTOMATIC GENERATION OF JSP/SERVLET WEB APPLICATIONS

A DIAGRAM APPROACH TO AUTOMATIC GENERATION OF JSP/SERVLET WEB APPLICATIONS A DIAGRAM APPROACH TO AUTOMATIC GENERATION OF JSP/SERVLET WEB APPLICATIONS Kornkamol Jamroendararasame, Tetsuya Suzuki and Takehiro Tokuda Department of Computer Science Tokyo Institute of Technology Tokyo

More information

Source Code Translation

Source Code Translation Source Code Translation Everyone who writes computer software eventually faces the requirement of converting a large code base from one programming language to another. That requirement is sometimes driven

More information

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

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

More information

TDDC88 Lab 2 Unified Modeling Language (UML)

TDDC88 Lab 2 Unified Modeling Language (UML) TDDC88 Lab 2 Unified Modeling Language (UML) Introduction What is UML? Unified Modeling Language (UML) is a collection of graphical notations, which are defined using a single meta-model. UML can be used

More information

PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN

PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN PHP FRAMEWORK FOR DATABASE MANAGEMENT BASED ON MVC PATTERN Chanchai Supaartagorn Department of Mathematics Statistics and Computer, Faculty of Science, Ubon Ratchathani University, Thailand scchansu@ubu.ac.th

More information

Unified Modeling Language (UML) for Database Systems and Computer Applications

Unified Modeling Language (UML) for Database Systems and Computer Applications Unified Modeling Language (UML) for Database Systems and Computer Applications Sunguk Lee * Research Institute of Industrial Science and Technology Pohang, Korea sunguk@rist.re.kr *Correspondent Author:

More information

Software Architecture

Software Architecture Software Architecture Definitions http://www.sei.cmu.edu/architecture/published_definiti ons.html ANSI/IEEE Std 1471-2000, Recommended Practice for Architectural Description of Software- Intensive Systems

More information

Company Web Template System (CWTS) to enhance the development of SMI Companies Websites

Company Web Template System (CWTS) to enhance the development of SMI Companies Websites 6th WSEAS International Conference on E-ACTIVITIES, Tenerife, Spain, December 14-16, 2007 140 Company Web Template System (CWTS) to enhance the development of SMI Companies Websites JUHANA SALIM, ZURAIDAH

More information

XFlash A Web Application Design Framework with Model-Driven Methodology

XFlash A Web Application Design Framework with Model-Driven Methodology International Journal of u- and e- Service, Science and Technology 47 XFlash A Web Application Design Framework with Model-Driven Methodology Ronnie Cheung Hong Kong Polytechnic University, Hong Kong SAR,

More information

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

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

More information

CTIS 359 Principles of Software Engineering System Models

CTIS 359 Principles of Software Engineering System Models CTIS 359 Principles of Software Engineering System Models Today s objectives To explain DFDs for requirements capturing and modeling. To explain Use-Cases for requirements capturing and modeling. Data

More information

Java (12 Weeks) Introduction to Java Programming Language

Java (12 Weeks) Introduction to Java Programming Language Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short

More information

Chapter 8 The Enhanced Entity- Relationship (EER) Model

Chapter 8 The Enhanced Entity- Relationship (EER) Model Chapter 8 The Enhanced Entity- Relationship (EER) Model Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 8 Outline Subclasses, Superclasses, and Inheritance Specialization

More information

Aplicando enfoque MDE a aplicaciones WEB-SOA

Aplicando enfoque MDE a aplicaciones WEB-SOA Aplicando enfoque MDE a aplicaciones WEB-SOA María Consuelo Franky lfranky@javeriana.edu.co Dpto. Ingeniería de Sistemas Universidad Javeriana Bogotá - 2010 http://sophia.javeriana.edu.co/~lfranky/ 1 Temario

More information

Evaluation of Commercial Web Engineering Processes

Evaluation of Commercial Web Engineering Processes Evaluation of Commercial Web Engineering Processes Andrew McDonald and Ray Welland Department of Computing Science, University of Glasgow, Glasgow, Scotland. G12 8QQ. {andrew, ray}@dcs.gla.ac.uk, http://www.dcs.gla.ac.uk/

More information

Aspect Oriented Strategy to model the Examination Management Systems

Aspect Oriented Strategy to model the Examination Management Systems Aspect Oriented Strategy to model the Examination Management Systems P.Durga 1, S.Jeevitha 2, A.Poomalai 3, Prof.M.Sowmiya 4 and Prof.S.Balamurugan 5 Department of IT, Kalaignar Karunanidhi Institute of

More information

Automated Test Approach for Web Based Software

Automated Test Approach for Web Based Software Automated Test Approach for Web Based Software Indrajit Pan 1, Subhamita Mukherjee 2 1 Dept. of Information Technology, RCCIIT, Kolkata 700 015, W.B., India 2 Dept. of Information Technology, Techno India,

More information

IBM Unica emessage Version 8 Release 6 February 13, 2015. User's Guide

IBM Unica emessage Version 8 Release 6 February 13, 2015. User's Guide IBM Unica emessage Version 8 Release 6 February 13, 2015 User's Guide Note Before using this information and the product it supports, read the information in Notices on page 403. This edition applies to

More information

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns.

Keywords Aspect-Oriented Modeling, Rule-based graph transformations, Aspect, pointcuts, crosscutting concerns. Volume 4, Issue 5, May 2014 ISSN: 2277 128X International Journal of Advanced Research in Computer Science and Software Engineering Research Paper Available online at: www.ijarcsse.com Functional and Non-Functional

More information

Menouer Boubekeur, Gregory Provan

Menouer Boubekeur, Gregory Provan Software Requirements Menouer Boubekeur, Gregory Provan Lectures Introduction to UML Introduction to Requirements Analysis Advanced techniques for Requirement Analysis M. Boubekeur, CSL, University College

More information

Using UML Part Two Behavioral Modeling Diagrams

Using UML Part Two Behavioral Modeling Diagrams UML Tutorials Using UML Part Two Behavioral Modeling Diagrams by Sparx Systems All material Sparx Systems 2007 Sparx Systems 2007 Page 1 Trademarks Object Management Group, OMG, Unified Modeling Language,

More information

Application of UML in Real-Time Embedded Systems

Application of UML in Real-Time Embedded Systems Application of UML in Real-Time Embedded Systems Aman Kaur King s College London, London, UK Email: aman.kaur@kcl.ac.uk Rajeev Arora Mechanical Engineering Department, Invertis University, Invertis Village,

More information

Engineering Web Applications for Reuse

Engineering Web Applications for Reuse Engineering Web Applications for Reuse Daniel Schwabe *, Gustavo Rossi **, Luiselena Esmeraldo *, Fernando Lyardet** *Departamento de Informática, PUC-Rio, Brazil E-mail: {schwabe, luiselena} @inf.puc-rio.br

More information

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY

AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY STUDIA UNIV. BABEŞ BOLYAI, INFORMATICA, Volume L, Number 2, 2005 AN ONTOLOGICAL APPROACH TO WEB APPLICATION DESIGN USING W2000 METHODOLOGY ANNA LISA GUIDO, ROBERTO PAIANO, AND ANDREA PANDURINO Abstract.

More information

MMGD0204 Web Application Technology. Chapter 9 SERVER-SIDE SCRIPTING LANGUAGE

MMGD0204 Web Application Technology. Chapter 9 SERVER-SIDE SCRIPTING LANGUAGE MMGD0204 Web Application Technology Chapter 9 SERVER-SIDE SCRIPTING LANGUAGE Server-Side Scripting Language A web server technology in which a user's request is fulfilled by running a script directly on

More information

From Object Oriented Conceptual Modeling to Automated Programming in Java

From Object Oriented Conceptual Modeling to Automated Programming in Java From Object Oriented Conceptual Modeling to Automated Programming in Java Oscar Pastor, Vicente Pelechano, Emilio Insfrán, Jaime Gómez Department of Information Systems and Computation Valencia University

More information

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

Decomposition into Parts. Software Engineering, Lecture 4. Data and Function Cohesion. Allocation of Functions and Data. Component Interfaces Software Engineering, Lecture 4 Decomposition into suitable parts Cross cutting concerns Design patterns I will also give an example scenario that you are supposed to analyse and make synthesis from The

More information

Axiomatic design of software systems

Axiomatic design of software systems Axiomatic design of software systems N.P. Suh (1), S.H. Do Abstract Software is playing an increasingly important role in manufacturing. Many manufacturing firms have problems with software development.

More information

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT

EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT EVALUATION OF SERVER-SIDE TECHNOLOGY FOR WEB DEPLOYMENT Dr. Alexander Pons, University of Miami, apons@miami.edu ABSTRACT The deployment of Web applications consisting of dynamic content requires the selection

More information

Extending UML for the migration of Legacy Systems to the Web

Extending UML for the migration of Legacy Systems to the Web Lecture Notes in Computer Science 1 Extending UML for the migration of Legacy Systems to the Web Cristina Cachero, Jaime Gómez and Antonio Párraga Departament of Languages and Information Systems University

More information

What Is the Java TM 2 Platform, Enterprise Edition?

What Is the Java TM 2 Platform, Enterprise Edition? Page 1 de 9 What Is the Java TM 2 Platform, Enterprise Edition? This document provides an introduction to the features and benefits of the Java 2 platform, Enterprise Edition. Overview Enterprises today

More information

GenericServ, a Generic Server for Web Application Development

GenericServ, a Generic Server for Web Application Development EurAsia-ICT 2002, Shiraz-Iran, 29-31 Oct. GenericServ, a Generic Server for Web Application Development Samar TAWBI PHD student tawbi@irit.fr Bilal CHEBARO Assistant professor bchebaro@ul.edu.lb Abstract

More information

A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION

A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION A NEW DISCIPLINE FOR WEB SYSTEM & REQUIREMENTS ENGINEERING FOR DEVELOPMENT OF WEB APPLICATION Mrs. Swati Santosh Jamble Assistant Professor ATSS, College of Business Studies and Computer Application, Chinchwad

More information

4.2 Understand Microsoft ASP.NET Web Application Development

4.2 Understand Microsoft ASP.NET Web Application Development L E S S O N 4 4.1 Understand Web Page Development 4.2 Understand Microsoft ASP.NET Web Application Development 4.3 Understand Web Hosting 4.4 Understand Web Services MTA Software Fundamentals 4 Test L

More information

PIE. Internal Structure

PIE. Internal Structure PIE Internal Structure PIE Composition PIE (Processware Integration Environment) is a set of programs for integration of heterogeneous applications. The final set depends on the purposes of a solution

More information

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2

IRA 423/08. Designing the SRT control software: Notes to the UML schemes. Andrea Orlati 1 Simona Righini 2 Designing the SRT control software: Notes to the UML schemes Andrea Orlati 1 Simona Righini 2 1 - I.N.A.F. Istituto di Radioastronomia. 2 Dip. Astronomia - Università degli Studi di Bologna. Dicembre 2008

More information

The Unified Software Development Process

The Unified Software Development Process The Unified Software Development Process Technieche Universal Darmstadt FACHBEREICH IN-FORMAHK BLIOTHEK Ivar Jacobson Grady Booch James Rumbaugh Rational Software Corporation tnventar-nsr.: Sachgebiete:

More information

Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design

Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design Advanced Service Creation: Bridging the Gap Between Requirements Elicitation and Service Design Dionisis X. Adamopoulos 1, Constantine A. Papandreou 2 1 University of Piraeus, Greece and Centre for Communication

More information

Version 4.5 The Graphical Metamodeling Example

Version 4.5 The Graphical Metamodeling Example Version 4.5 The Graphical Metamodeling Example MetaCase Document No. GE-4.5 Copyright 2008 by MetaCase Oy. All rights reserved First Printing, 2 nd Edition, February 2008. MetaCase Ylistönmäentie 31 FI

More information

Generating Enterprise Applications from Models

Generating Enterprise Applications from Models Generating Enterprise Applications from Models Vinay Kulkarni, R Venkatesh, Sreedhar Reddy Tata Research Development and Design Centre, 54, Industrial estate, Hadapsar, Pune, 411 013, INDIA { vinayk, rvenky,

More information

CHAPTER 5 GRAPHS AS PROGRAMS

CHAPTER 5 GRAPHS AS PROGRAMS 111 CHAPTER 5 GRAPHS AS PROGRAMS 5.1. INTRODUCTION In the previous chapter a visual version of APL was discussed. In this chapter we use a graphic editor tool to create Mathematica code. As a result of

More information

Component Based Development Methods - comparison

Component Based Development Methods - comparison Component Based Development Methods - comparison Dan Laurenţiu Jişa Abstract: This paper realizes a comparison among three of the best known component based development methods, emphazing on the earlier

More information

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT

PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT PROJECT MANAGEMENT METHODOLOGY OF OBJECT- ORIENTED SOFTWARE DEVELOPMENT Ing. David BEDNÁŘ, Doctoral Degree Programme (2) Dept. of Information Systems, FIT, BUT E-mail: bednar@fit.vutbr.cz Supervised by:

More information

Basic Unified Process: A Process for Small and Agile Projects

Basic Unified Process: A Process for Small and Agile Projects Basic Unified Process: A Process for Small and Agile Projects Ricardo Balduino - Rational Unified Process Content Developer, IBM Introduction Small projects have different process needs than larger projects.

More information

Project VIDE Challenges of Executable Modelling of Business Applications

Project VIDE Challenges of Executable Modelling of Business Applications Project VIDE Challenges of Executable Modelling of Business Applications Radoslaw Adamus *, Grzegorz Falda *, Piotr Habela *, Krzysztof Kaczmarski #*, Krzysztof Stencel *+, Kazimierz Subieta * * Polish-Japanese

More information

Design of UML models and their simulation using ARENA

Design of UML models and their simulation using ARENA Design of UML models and their simulation using ARENA ARTIS TEILANS and ARNIS KLEINS Exigen Services DATI 17a Ganibu Dambis, LV-1045, Riga LATVIA artis.teilans@exigenservices.com arnis.kleins@exigenservices.com

More information

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS)

Universiti Teknologi MARA. Requirement Analysis Using UML Approach for Research Management System (RMS) C^tJ O19OO(^'J.Tfi^'i- Universiti Teknologi MARA Requirement Analysis Using UML Approach for Research Management System (RMS) Enamul Hasan Bin Rusly Thesis submitted in fulfillment of the requirements

More information

Framework for Describing UML Compatible Development Processes

Framework for Describing UML Compatible Development Processes Framework for Describing UML Compatible Development Processes Pavel Hruby Navision Software Frydenlunds Allé 6 DK-2950 Vedbæk, Denmark ph@navision.com Abstract. Have you ever tried to specify an accurate

More information

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development

Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Comparison of Model-Driven Architecture and Software Factories in the Context of Model-Driven Development Ahmet Demir Technische Universität München Department of Informatics Munich, Germany AhmetDemir@gmx.de

More information

A Business Process Services Portal

A Business Process Services Portal A Business Process Services Portal IBM Research Report RZ 3782 Cédric Favre 1, Zohar Feldman 3, Beat Gfeller 1, Thomas Gschwind 1, Jana Koehler 1, Jochen M. Küster 1, Oleksandr Maistrenko 1, Alexandru

More information

A UML 2 Profile for Business Process Modelling *

A UML 2 Profile for Business Process Modelling * A UML 2 Profile for Business Process Modelling * Beate List and Birgit Korherr Women s Postgraduate College for Internet Technologies Institute of Software Technology and Interactive Systems Vienna University

More information

zen Platform technical white paper

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

More information

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL

THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL THE DEVELOPMENT OF A WEB BASED MULTIMEDIA INFORMATION SYSTEM FOR BUILDING APPRAISAL Dominic O' Sullivan Department of Civil & Environmental Engineering National University of Ireland, Cork. Dr. Marcus

More information

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

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

More information