PREVALENCIA DEL GRADO DE DISFUNCION ERECTIL SEGUN RANGO DE EDAD
PREVALENCIA DE CALIDAD DE VIDA SEGUN COMPONENTE DE SALUD MENTAL
Modelling can help to understand the growing complexity of web applications. Regarding modelling web applications, in some cases new models have been proposed, while in other cases, existing modelling techniques have been adapted from other software domains.
As explained in section before, the structure of the web is represented by means of a multidigraph using the JUNG library. The next step is to establish a way of modelling the web application for developers. As depicted in the methodology, software development artefacts from the analysis and design phases should be reused in order to guide the automation of testing.
To achieve automated functional testing, requirements should be described in a form that can be understood by software programs. Using a MBT approach, test cases are derived from a given model of the SUT [27]. Therefore, UML diagrams can be used for describing requirements a driving the test automation process.
The R&P approach is a useful way to represent the structure of a web application by recordings interactions with the application through the browser. This method is more agile than UML, since the application can be developed avoiding the formal design phase.
Halfway between the UML models and R&P, I propose a syntax‐neutral way of modelling the navigation using a specific created XML notation. XML (Extensible Markup Language) provides an easy way to store and share information. To provide the formal declaration of this XML format, XML Schema language (also known as XML Schema Definition, XSD) will be employed to perform the formalization of the navigation constraints, expressed as rules. The following subsections describe each of these options (UML, XML, and R&P).
5.3.1. UML Models
The de‐facto notation standard widely employed for modelling is UML (Unified Modelling Language). UML 2.0 models of the SUT can be used to define the web navigation. The standard diagrams in UML 2.0 are the following [84]: Table 9. UML 2.0 Diagrams Type Description Use Case Functionality from the user’s viewpoint Activity The flow within a Use case or the system Class Classes, entities, business domain, database Sequence Interactions between objects Interaction overview Overview interactions at a general high level Communication Interactions between objects Object Objects and their links State machine The run‐time life cycle of an object Composite Structure component or object behavior at run‐time
Component Executable, linkable libraries, etc. Deployment Hardware nodes and processors Package Subsystems, organizational units Timing Time concept during object interactions Type Description Use Case Functionality from the user’s viewpoint Activity The flow within a Use case or the system Class Classes, entities, business domain, database Sequence Interactions between objects
For MBT, use case models and activity diagrams are particularly effective since they bridge requirements to system tests, and the can be created early in the development life cycle [10]. Use case diagrams offer a perspective of the functional requirements of the application interaction with the actors. The use case for testing can be developed early in the project life cycle as soon as the requirements are available. Activity diagrams are used to show details of each use case. These diagrams describe the flow within a use case. Activity diagram for web applications describes the navigation structure.
In order to model the data which is handled by the web application, some kind of presentation diagrams are needed. The standard diagrams in UML 2.0 does not provide in a standard way any diagrams (see Table 12) to model some specific aspects of the web applications, such as the presentation. For that reason, specific UML extensions have been developed:
- Web Site Design Method16 (WSDM) is a user‐centred approach for the development of web sites that models the application based on the information of the users’ groups [32]. - Scenario‐based Object‐Oriented Hypermedia Design Methodology (SOHDM) proposes a
requirement specification based on scenarios [135].
- Relationship‐Navigational Analysis (RNA) is a methodology that offers a sequence of steps to develop web applications focusing mainly on analysis [29].
- Hypermedia Flexible Process Modelling (HFPM) is a wide engineering‐based approach, which includes analysis‐oriented descriptive and prescriptive process modelling strategies [17].
- Object Oriented Hypermedia Design Model (OOHDM) postulates the separation of concerns that defines its various models (requirements, conceptual, navigation, abstract interface and implementation). OOHDM, and its successor, SHDM (Semantic Hypermedia Design Method, which uses Semantic Web models) are supported by an open source, freely available environment, HyperDE17.
- UML‐based Web Engineering18 (UWE) is a software engineering approach aiming to cover the whole life‐cycle of web application development [32].
- W2000 is an approach that also extends UML notation to model multimedia elements. These multimedia elements are inherited from HDM (Hypermedia Design Model) [89].
16 http://wsdm.vub.ac.be/
17 http://www.tecweb.inf.puc‐rio.br/hyperde 18 http://uwe.pst.ifi.lmu.de/
- Web Modeling Language (WebML) is a high‐level specification language for designing complex web applications. It offers a visual both in Entity‐Relationship and UML, although UML is preferred by the authors [17].
- Navigational Development Techniques19 (NDT) is a methodological approach that offers specific models and techniques to deal with the requirements of web applications. It is based upon the use of UML [40].
Recent research shows that software project success is directly tied to requirement quality [132]. Requirement Engineering (RE) involves all lifecycle activities devoted to identification and analysis of user requirements, documentation of the requirements as specification, and validation of the documented requirements against user needs. The following table presents a comparison of the studied UML‐based technologies using which types of requirements are handled by each approach [54]. Each column shows whether or not the technology manages different types of requirements: i) data requirements (establishes how information is stored and administrated); ii) user interface (interaction requirements); iii) navigation (users’ navigation needs); iv) personalization (how requirements are dynamically adaptable); v) transactional; vi) non‐functional requirements.
Table 10. UML‐Based Web Modelling Technologies Comparision
Data UI Navigation Personalization Transactional Non‐Functional
WSDM
SOHDM
RNA
HFPM
OOHDM
UWE
W2000
WebML
NDT
Having seen these results, NDT seems to be a good choice to model web applications since it covers each kind of the requirements studied. NDT proposes dividing the treatment of requirements in accordance with the idea of concept separation, which is followed by most of the other web approaches in the design phase. Therefore, the UML models to guide the MBT approach of this dissertation will be based on NDT.Next, an example of the three kinds of UML diagrams selected to model the navigation in NDT is shown. First, a simple use case is illustrated in Figure 24. This use case implements the typical formal requirement 'Log on to the website'.
19 http://www.iwt2.org/
Figure 24. Use Case Diagram Example
NDT links each use with its corresponding activity diagram (notice the links symbol ∞ in the diagram before). Apart of this link, there is a direct relationship between each use case and its activity since the name of both of them should be the same (in this example, RF-01.Login). The activity diagram for this use case is illustrated in Figure 25. This diagram has two different activities called LoginPage and Init, representing two independent web pages. The first one is LoginPage, due to the fact that the Start node is pointing to this activity. In this page the user is in charge of introducing its credentials (login and password) and then submitting the information by clicking in the button named frmDatos_0. The business logic of the application will ensure that the credentials are valid, typically by checking a database. In that case, the navigation will go on to the next page, called Init. Otherwise, the navigation will return to the first page again, i.e. LoginPage. Figure 25. Activity Diagram Example The guard in the links from one activity to the following (annotated as frmDatos_0 in Figure 25) describes how a web state changes to another. This guard is interpreted using the following procedure:
DRS - Requisitos Funcionales 3.3.1. DIAGRAMAS...
«RF» RF-01.Login
Snippet 2. Procedure to Translate Guards into HTML Elements