• No se han encontrado resultados

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 

Documento similar