This presentation presents a rigorous analysis of a quasi-experiment carried out in a controlled environment. The data gathered shows that the productivity and the satisfaction of junior Web developers are significantly affected by the development method but they are independent from the particular module being developed. The main conclusions of our study (that still need to be corroborated with further replications) are:
* The MDD approach seems to significantly increase the productivity of developers with respect to both the MDB and the code-centric approach.
* The MDD approach satisfies the most the expectations of juniors developers, followed by code-centric and, in third position, the MDB approach.
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKijseajournal
Most of the currently available students' portal frameworks are tightly-coupled frameworks. A recent
research done by the authors of this paper has discussed how to distribute the concepts of the traditional
students' portal framework and came out with a distributed interoperable framework. This paper realizes
the distributed interoperable students' portal framework by developing a prototype. This prototype is based
on Service Oriented Architecture (SOA). The prototype is tested using web service testing and compatibility
testing.
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSijseajournal
One of the significantaspects of software quality is usability. It is one of the characteristics that judge by
the success or failure of software applications. The most important risk facing the software applications is
usability which may lead to the existence of a gap between users and systems. This may lead to system
failure because of Poor design. This is due to the design is not based on the desires and requirements of the
customer. To overcome these problems, this paper proposed an approach to improve usability of software
applications to meet the needs of the customer and interacts with the user easily with an efficient and
effective manner.The proposed approach is based prototyping technique due to itssimplicity and it does not
require additional costs to elicit precise and complete requirement and design.
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...ijseajournal
Analyzing the reliability of a software can be done at various phases during the development of
engineering software. Software reliability growth models (SRGMs) assess, predict, and controlthe software
reliability based on data obtained from testing phase.This paper gives a literaturereview of the first and
wellknownJelinski and Moranda(J-M) (1972)SRGM.Also a modification to Jelinski and Morandamodel is
given, Jelinski and Moranda and Schick and Wolverton (S-W) (1978)SRGMsare two special cases of our
new suggested general SRGM. Our proposed general SRGMalong with our Survey will open doors for
much more useful researches to be done in the field of reliability modeling.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
REALIZING A LOOSELY-COUPLED STUDENTS PORTAL FRAMEWORKijseajournal
Most of the currently available students' portal frameworks are tightly-coupled frameworks. A recent
research done by the authors of this paper has discussed how to distribute the concepts of the traditional
students' portal framework and came out with a distributed interoperable framework. This paper realizes
the distributed interoperable students' portal framework by developing a prototype. This prototype is based
on Service Oriented Architecture (SOA). The prototype is tested using web service testing and compatibility
testing.
AN APPROACH TO IMPROVEMENT THE USABILITY IN SOFTWARE PRODUCTSijseajournal
One of the significantaspects of software quality is usability. It is one of the characteristics that judge by
the success or failure of software applications. The most important risk facing the software applications is
usability which may lead to the existence of a gap between users and systems. This may lead to system
failure because of Poor design. This is due to the design is not based on the desires and requirements of the
customer. To overcome these problems, this paper proposed an approach to improve usability of software
applications to meet the needs of the customer and interacts with the user easily with an efficient and
effective manner.The proposed approach is based prototyping technique due to itssimplicity and it does not
require additional costs to elicit precise and complete requirement and design.
JELINSKI-MORANDA SOFTWARE RELIABILITY GROWTH MODEL: A BRIEF LITERATURE AND MO...ijseajournal
Analyzing the reliability of a software can be done at various phases during the development of
engineering software. Software reliability growth models (SRGMs) assess, predict, and controlthe software
reliability based on data obtained from testing phase.This paper gives a literaturereview of the first and
wellknownJelinski and Moranda(J-M) (1972)SRGM.Also a modification to Jelinski and Morandamodel is
given, Jelinski and Moranda and Schick and Wolverton (S-W) (1978)SRGMsare two special cases of our
new suggested general SRGM. Our proposed general SRGMalong with our Survey will open doors for
much more useful researches to be done in the field of reliability modeling.
Integrating profiling into mde compilersijseajournal
Scientific computation requires more and more performance in its algorithms. New massively parallel
architectures suit well to these algorithms. They are known for offering high performance and power
efficiency. Unfortunately, as parallel programming for these architectures requires a complex distribution
of tasks and data, developers find difficult to implement their applications effectively. Although approaches
based on source-to-source intends to provide a low learning curve for parallel programming and take
advantage of architecture features to create optimized applications, programming remains difficult for
neophytes. This work aims at improving performance by returning to the high-level models, specific
execution data from a profiling tool enhanced by smart advices computed by an analysis engine. In order to
keep the link between execution and model, the process is based on a traceability mechanism. Once the
model is automatically annotated, it can be re-factored aiming better performances on the re-generated
code. Hence, this work allows keeping coherence between model and code without forgetting to harness the
power of parallel architectures. To illustrate and clarify key points of this approach, we provide an
experimental example in GPUs context. The example uses a transformation chain from UML-MARTE
models to OpenCL code.
In this report I will compare two different information system methodologies. I would talk about SSADM (Structure System Analysis and Design Methodologies) and XP (Extreme Programing).
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
27th August 2015. My presentation at SEAA 2015 (http://paginas.fe.up.pt/~dsd-seaa-2015/) about our approach for autmatically bridging UML profiles into MOF metamodels. SEAA 2015 is the 41st Euromicro Conference on Software Engineering and Advanced Applications, and it has been held in 26 - 28 August 2015, Funchal, Madeira, Portugal.
Accompanying paper:
http://www.ivanomalavolta.com/files/papers/SEAA_2015.pdf
Abstract:
In Model-Driven Engineering, UML profiles and MOF-based Domain Specific Modeling Languages (DSMLs) are the most used approaches for describing domain specific applications. The choice of the right approach depends on several aspects, such as tool support, expressivity, complexity of models, company policies. In general, profiled UML models are very much used since they are intuitive for designers and model editors already exist, however they are intrinsically complex for model manipulation (e.g., transformation, analysis); conversely, domain specific models are more concise and easy to be manipulated, but they require an initial effort in terms of designers training and model editors development.
In this paper we propose an approach that allows getting the best of the two worlds: on one side designers can use UML profiles familiar to them, on the other side DSML models (automatically generated from profiled UML models) enable a better model manipulation. Our approach is based on an automatic bridge between UML profiles and MOF metamodels (which are the main artifacts of MOF-based DSMLs). The bridge is transparent to the user since it autonomously operates both on UML profiles and all the involved models. The bridge is realized through model transformation techniques in the Eclipse platform. In this paper we show its application on a case study based on SysML.
Course material from my Object-Oriented Development course.This presentation covers the design phase and focuses on a variety of software design principles.
Bio-Inspired Requirements Variability Modeling with use Case ijseajournal
Background.Feature Model (FM) is the most important technique used to manage the variability through products in Software Product Lines (SPLs). Often, the SPLs requirements variability is by using variable use case modelwhich is a real challenge inactual approaches: large gap between their concepts and those of real world leading to bad quality, poor supporting FM, and the variability does not cover all requirements modeling levels. Aims. This paper proposes a bio-inspired use case variability modeling methodology dealing with the above shortages.
Method. The methodology is carried out through variable business domain use case meta modeling,
variable applications family use case meta modeling, and variable specific application use case generating.
Results. This methodology has leaded to integrated solutions to the above challenges: it decreases the gap
between computing concepts and real world ones. It supports use case variability modeling by introducing
versions and revisions features and related relations. The variability is supported at three meta levels
covering business domain, applications family, and specific application requirements.
Conclusion. A comparative evaluation with the closest recent works, upon some meaningful criteria in the
domain, shows the conceptual and practical great value of the proposed methodology and leads to
promising research perspectives
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE mathsjournal
Background.Feature Model (FM) is the most important technique used to manage the variability through
products in Software Product Lines (SPLs). Often, the SPLs requirements variability is by using variable
use case modelwhich is a real challenge inactual approaches: large gap between their concepts and those of
real world leading to bad quality, poor supporting FM, and the variability does not cover all requirements
modeling levels.
In this report I will compare two different information system methodologies. I would talk about SSADM (Structure System Analysis and Design Methodologies) and XP (Extreme Programing).
Automatically bridging UML profiles into MOF metamodelsIvano Malavolta
27th August 2015. My presentation at SEAA 2015 (http://paginas.fe.up.pt/~dsd-seaa-2015/) about our approach for autmatically bridging UML profiles into MOF metamodels. SEAA 2015 is the 41st Euromicro Conference on Software Engineering and Advanced Applications, and it has been held in 26 - 28 August 2015, Funchal, Madeira, Portugal.
Accompanying paper:
http://www.ivanomalavolta.com/files/papers/SEAA_2015.pdf
Abstract:
In Model-Driven Engineering, UML profiles and MOF-based Domain Specific Modeling Languages (DSMLs) are the most used approaches for describing domain specific applications. The choice of the right approach depends on several aspects, such as tool support, expressivity, complexity of models, company policies. In general, profiled UML models are very much used since they are intuitive for designers and model editors already exist, however they are intrinsically complex for model manipulation (e.g., transformation, analysis); conversely, domain specific models are more concise and easy to be manipulated, but they require an initial effort in terms of designers training and model editors development.
In this paper we propose an approach that allows getting the best of the two worlds: on one side designers can use UML profiles familiar to them, on the other side DSML models (automatically generated from profiled UML models) enable a better model manipulation. Our approach is based on an automatic bridge between UML profiles and MOF metamodels (which are the main artifacts of MOF-based DSMLs). The bridge is transparent to the user since it autonomously operates both on UML profiles and all the involved models. The bridge is realized through model transformation techniques in the Eclipse platform. In this paper we show its application on a case study based on SysML.
Course material from my Object-Oriented Development course.This presentation covers the design phase and focuses on a variety of software design principles.
Bio-Inspired Requirements Variability Modeling with use Case ijseajournal
Background.Feature Model (FM) is the most important technique used to manage the variability through products in Software Product Lines (SPLs). Often, the SPLs requirements variability is by using variable use case modelwhich is a real challenge inactual approaches: large gap between their concepts and those of real world leading to bad quality, poor supporting FM, and the variability does not cover all requirements modeling levels. Aims. This paper proposes a bio-inspired use case variability modeling methodology dealing with the above shortages.
Method. The methodology is carried out through variable business domain use case meta modeling,
variable applications family use case meta modeling, and variable specific application use case generating.
Results. This methodology has leaded to integrated solutions to the above challenges: it decreases the gap
between computing concepts and real world ones. It supports use case variability modeling by introducing
versions and revisions features and related relations. The variability is supported at three meta levels
covering business domain, applications family, and specific application requirements.
Conclusion. A comparative evaluation with the closest recent works, upon some meaningful criteria in the
domain, shows the conceptual and practical great value of the proposed methodology and leads to
promising research perspectives
BIO-INSPIRED REQUIREMENTS VARIABILITY MODELING WITH USE CASE mathsjournal
Background.Feature Model (FM) is the most important technique used to manage the variability through
products in Software Product Lines (SPLs). Often, the SPLs requirements variability is by using variable
use case modelwhich is a real challenge inactual approaches: large gap between their concepts and those of
real world leading to bad quality, poor supporting FM, and the variability does not cover all requirements
modeling levels.
MODEL DRIVEN WEB APPLICATION DEVELOPMENT WITH AGILE PRACTICESijseajournal
Model driven development is an effective method due to its benefits such as code transformation, increasing
productivity and reducing human based error possibilities. Meanwhile, agile software development
increases the software flexibility and customer satisfaction by using iterative method. Can these two
development approaches be combined to develop web applications efficiently? What are the challenges and
what are the benefits of this approach? In this paper, we answer these two crucial problems; combining
model driven development and agile software development results in not only fast development and
easiness of the user interface design but also efficient job tracking. We also defined an agile model based
approach for web applications whose implementation study has been carried out to support the answers we
gave these two crucial problems.
Agile and Modeling / MDE : friends or foes? (Agile Tour Nantes 2010)Jordi Cabot
n the talk I explore the relationships between software modeling and agile practices. For many agilists, the perception is that modeling is a useless activity that should not be part of the core agile practices. But, Is this really the case? Can agile benefit from modeling? Can modeling benefit from agile? Can modeling help companies understand the human and social aspects of agile methods and improve their chances of success when adopting them?
Using Model-Driven Engineering for Decision Support Systems Modelling, Implem...CSCJournals
Following the principle of everything is object, software development engineering has moved towards the principle of everything is model, through Model Driven Engineering (MDE). Its implementation is based on models and their successive transformations, which allow starting from the requirements specification to the code’s implementation. This engineering is used in the development of information systems, including Decision-Support Systems (DSS). Here we use MDE to propose an DSS development approach, using the Multidimensional Canonical Partitioning (MCP) design approach and a design pattern. We also use model’s transformation in order to obtain not only implementation codes, but also data warehouse feeds.
Very preliminar intro to MDE for software developer communities and other kind of software practitioners. Contains material from several recognized sources.
Comparing Various SDLC Models On The Basis Of Available MethodologyIJMER
There are various SDLC models widely accepted and employed for developing software.
SDLC models give a theoretical guide line regarding development of the software. Employing proper
SDLC allows the managers to regulate whole development strategy of the software. Each SDLC has its
advantages and disadvantages making it suitable for use under specific condition and constraints for
specified type of software only. We need to understand which SDLC would generate most successful
result when employed for software development. For this we need some method to compare SDLC
models. Various methods have been suggested which allows comparing SDLC models. Comparing SLDC
models is a complex task as there is no mathematical theorem or physical device available. The essence
of this paper is to analyse some methodologies that could result in successful comparison of the SDLC
models. For this we have studied various available tools, techniques and methodologies and have tried
to extract most simple, easy and highly understandable method for comparing SDLC models.
Essentials of Automations: Optimizing FME Workflows with ParametersSafe Software
Are you looking to streamline your workflows and boost your projects’ efficiency? Do you find yourself searching for ways to add flexibility and control over your FME workflows? If so, you’re in the right place.
Join us for an insightful dive into the world of FME parameters, a critical element in optimizing workflow efficiency. This webinar marks the beginning of our three-part “Essentials of Automation” series. This first webinar is designed to equip you with the knowledge and skills to utilize parameters effectively: enhancing the flexibility, maintainability, and user control of your FME projects.
Here’s what you’ll gain:
- Essentials of FME Parameters: Understand the pivotal role of parameters, including Reader/Writer, Transformer, User, and FME Flow categories. Discover how they are the key to unlocking automation and optimization within your workflows.
- Practical Applications in FME Form: Delve into key user parameter types including choice, connections, and file URLs. Allow users to control how a workflow runs, making your workflows more reusable. Learn to import values and deliver the best user experience for your workflows while enhancing accuracy.
- Optimization Strategies in FME Flow: Explore the creation and strategic deployment of parameters in FME Flow, including the use of deployment and geometry parameters, to maximize workflow efficiency.
- Pro Tips for Success: Gain insights on parameterizing connections and leveraging new features like Conditional Visibility for clarity and simplicity.
We’ll wrap up with a glimpse into future webinars, followed by a Q&A session to address your specific questions surrounding this topic.
Don’t miss this opportunity to elevate your FME expertise and drive your projects to new heights of efficiency.
The Art of the Pitch: WordPress Relationships and SalesLaura Byrne
Clients don’t know what they don’t know. What web solutions are right for them? How does WordPress come into the picture? How do you make sure you understand scope and timeline? What do you do if sometime changes?
All these questions and more will be explored as we talk about matching clients’ needs with what your agency offers without pulling teeth or pulling your hair out. Practical tips, and strategies for successful relationship building that leads to closing the deal.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
GraphRAG is All You need? LLM & Knowledge GraphGuy Korland
Guy Korland, CEO and Co-founder of FalkorDB, will review two articles on the integration of language models with knowledge graphs.
1. Unifying Large Language Models and Knowledge Graphs: A Roadmap.
https://arxiv.org/abs/2306.08302
2. Microsoft Research's GraphRAG paper and a review paper on various uses of knowledge graphs:
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Accelerate your Kubernetes clusters with Varnish CachingThijs Feryn
A presentation about the usage and availability of Varnish on Kubernetes. This talk explores the capabilities of Varnish caching and shows how to use the Varnish Helm chart to deploy it to Kubernetes.
This presentation was delivered at K8SUG Singapore. See https://feryn.eu/presentations/accelerate-your-kubernetes-clusters-with-varnish-caching-k8sug-singapore-28-2024 for more details.
Transcript: Selling digital books in 2024: Insights from industry leaders - T...BookNet Canada
The publishing industry has been selling digital audiobooks and ebooks for over a decade and has found its groove. What’s changed? What has stayed the same? Where do we go from here? Join a group of leading sales peers from across the industry for a conversation about the lessons learned since the popularization of digital books, best practices, digital book supply chain management, and more.
Link to video recording: https://bnctechforum.ca/sessions/selling-digital-books-in-2024-insights-from-industry-leaders/
Presented by BookNet Canada on May 28, 2024, with support from the Department of Canadian Heritage.
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Productivity mdd mdb_code_centric
1. Evaluating the impact of a MDWE
Approach on the Productivity and the
Satisfaction of Software Development
Teams
Yulkeidi Martínez, Cristina Cachero
and Santiago Meliá
Universidad Máximo Gómez Báez de Ciego de Ávila, Cuba
Universidad de Alicante, Spain
2. Summary
Introduction
Empirical Evidences
Productivity and Satisfaction Experiment
Objective
Subjects
Design
Analysis Data
Conclusions and Future works
3. Context
Web Engineering community advocates the
use of models in order to improve software
development processes for Web Applications
Many MDWE approaches have proposed the
use of models to obtain automatically (MDD) or
only to define (MBD) a Web Application (e.g.
WebML, UWE, OOHDM, OOH4RIA, etc.)
4. Context
These MDWE approaches claims the following
benefits of MDD:
Short and long term productivity gains (process)
Improved the efficiency of maintainability tasks
(process)
Defect and rework reduction (better quality of the
resulting product)
5. Context
The MDE (MDWE) research community have
not provide a sufficient body of practical
evidence that soundly backs these benefits of
the modeling practices with respect to code-
centric approaches
The percentage of empirical studies that
illustrate the impact of MBD and MDD over
productivity or satisfaction is still very
low, which hampers the generalizability of the
results
6. Empirical Evidences
A systematic review carried out in Dec 2010 on 600 papers
[Martinez, 2011] that claimed to provide empirical evidence
sustaining in any way MDD assertions about impact on
product quality and process productivity produced the
following results:
7. Empirical Evidences
Some experiments show how when projects grow
larger, the use of MDD increases productivity (results
ranging from 2 up to 9 or even 20 times)[Mellor
2003], [Alfonso, 2006], [Mellega, 2010]
An industrial experiment [Mohagheghi, 2008]
contradicts previous works where MDD productivity
gains and losses depending on the particular study.
They consider a strong dependency of the maturity
level of the tool
8. Objective
The aim of this study is to augment the repository of
empirical data that contributes to giving a scientific
answer to the following research question:
9. Our experiment
The study analyses three representative development
methods based on Fowler’s modeling madurity
classification:
Code-Centric: models are only used as sketches, without
tools, the modeling activity is performed in whiteboards
or blank pages to discuss complex or unclear aspects of
the system
Model-Based Development (MBD): diagrams show
most of the details of a system in order to foster its
understanding. They are usually based on standards as
UML. We use the class diagram of UML with the Rational
Software Modeler tool
10. Our experiment
Model-Driven Design (MDD): fully-fledged models that
can be used to characterize partially or completely an
application
To represent the business logic, the subjects have used
the OOH4RIA Domain Model that permits to obtain the
business logic and the persistence of a Web application
using a Object-Relational Mapping (such as
NHibernate)
11. OOH4RIA Model-Driven Development
OOH4RIA (Meliá et al. 2008) proposes a MDE process based
of a set of functional models and transformations to obtain a
RIA implementation
Problem-Space Models
Domain Model Navigation Model
User Interface Models
OOH4RIA IDE: http://suma2.dlsi.ua.es/ooh4ria
13. Domain Model Characteristics
Extended Class Diagram notation (a small learning curve)
based on a DSL language
Automatic synchronization of arguments of CRUD operations
(reduced maintainability)
Model constraints based on Hibernate QL rules
Wizards to accelerate the modeling (creating the OID and
CRUD operation by default)
Data types based on Hibernate types (generic for any
database)
Synchronization with manual code (custom operations and
customized operations)
14. Degree of automation of
different paradigms
Disciplines during the construction phase of the Agile UP [Ambler, 2005]
development process
Discipline Code-Centric Model-Based Model-Driven
(VS 2010) (RSM) (OOH4RIA)
MODEL Sketch or Blueprint Fully-fledged
Absent (DSL)
IMPLEMENTATION Manual Semi-automatic Automatic
TEST Manual Manual Semiautomatic
15. Subjects of the study
26 Mc S. Students of a Master in Web Software Development which are
divided into 6 teams from 4 to 6 people
75% of them had more than 2 years of professional experience as developers
of Web applications
The mean age was 25.6 years old and all of them were Computer Engineering
graduates
Subjects Background (prior knowledge questionnaire to the Master):
81% knew UML, and that 12% had a high-level of knowledge of it
76% had programmed with VS.NET and 12% had applied it in the industry
0% had previous practical of MDD, although 56% of them were aware of the
existence of it
All of them had received more that 50 hours of training in the Master about the
.NET programming, UML and OOH4RIA modeling
16. Projects
Each of the six groups developed a social network
application for a different domain:
Trips, Events, Hospitals, Academic, facework and Automobile
Each group implements the same three subsystems of their
social networks:
Events: people can invite their friends or colleagues to attend
to a place
Groups: a community of users to create contents and
relationships among people
Organizational Page: subjects
(companies, celebrities, etc., depending on the particular
application) can publish content, photos, etc. in a unidirectional
way to the social network
17. Experiment Design
The experiment applies a factorial design eliminating any
possible order effect. Teams were randomly assigned to each
treatment order.
Team/Modu Application Group Events Organizatio
le n
1 Travel Code- MBD MDD
centric
2 Events Code- MDD MBD
centric
3 Hospital MBD MDD Code-centric
4 Academics MDD MBD Code-centric
5 Facework MBD Code- MDD
Centric
6 Automobile MDD Code- MBD
Centric
18. Experiment Design
All projects must implement the same Architecture: an object-oriented
business logic based on a relational-mapping framework as Hibernate
Business Logic
implemented
in the Experiment
19. Experiment Design
Independent Variables or Factors (IV) are:
Meth: Method (code-centric, MBD, MDD)
Mod: Module (Group, Events, Organization)
Dependent Measurable Variables (DV) are:
P(Meth, Mod): a ratio variable that measures the
productivity of a team with a method and module
S(Meth, Mod): an interval variable, based on a 7-point
Likert scale, that measures the satisfaction of
developers with each method and module
20. Productivity Hypotheses
These measures have been used to test the following
testable hypotheses, which are based on the research
questions and the existing empirical evidence:
Productivity Hypothesys (PH):
Prod (MDD) > Prod (MBD) > Prod (code-centric)
Productivity-Module Interaction Hypothesys (PMIH):
P(Module*Meth) < 0.05
The effect on Productivity of the particular module is
insignificant compared to the effect of the method
21. Empirical Measures:
Productivity
We measured both the development time and the size
of the modules developed by each team.
Development time: The student had to document the
time of each development activity through the JIRA tool.
They report the development time of each task
(modeling, programming and testing)
Module size: We measure the size of the code produced
by students in source lines of code (SLOC). SLOCs come
in to express the size of software among programmers
with low levels of experience [Gollapudi]. We automated
the obtainment of this measure through the Line Counter
tool
22. Analysis of Data
RQ1: Impact of the method on the team productivity
Productivity Means:
• P(MDD) = 4.6
• P(MBD) = 2.3
• P(Code-Centric) = 0.23
MDD is 2 Times more
productive than MDB and 20
Times more productive than
Code-centric (Adhoc)
The productivity is
significantly affected by the
method used, and regardless
of the particular module being
developed
23. Empirical Measures:
Satisfaction
Satisfaction Hypothesis (SH):
S(MDD) > S(MBD) > S(Code-centric)
Satisfaction-Module Interaction Hypothesis (SMIH):
S(Module*Meth) < 0.05
The effect on Satisfaction of the particular module is
insignificant compared to the effect of the method
24. Empirical Measures:
Satisfaction
To measure Satisfaction we defined a satisfaction scale
made up of eleven items, where each one was based on
a 7-point Likert rating scale
Subjects responded to a Post-experiment
questionnaire that includes a semantic-differential scale
that required developers to judge each method
describing the developer's overall satisfaction
26. Analysis of Data
RQ2: Impact of method on developer's satisfaction
Productivity Means:
• P(MDD) = 4,76
• P(MBD) = 3,48
• P(Code-Centric) = 4,17
MDD is 36 per cent more
satisfactory than MDB and 14
per cent more satisfactory
than Code-centric (Adhoc)
The satisfaction also is
significantly affected by the
method used, regardless of
the particular module being
developed
27. Satisfaction Results
H1:Perceived usefulness of the development approaches
H2:Perceived ease of use of the development approaches
H3:Perceived compatibility of the development approaches
4,9 4,87
5
4,51
4,5
3,98
4 3,55
3,48
3,5
3 Code-Centric
2,5 MBD (RSM)
2
1,8 MDD (OOH4RIA)
2 1,54
1,5
1
0,5
0
H1 H2 H3
28. Final Results
H4: Intention of Adoption (to develop the Final Master Project)
76,90%
80,00%
70,00%
60,00%
Code-Centric (VS 2010)
50,00%
MBD (RSM)
40,00% MDD (OOH4RIA)
23,10%
30,00%
20,00%
10,00%
0,00%
H4
29. Conclusions
These results show that model-driven techniques
improves the productivity and also the satisfaction
among developers when they are accompanied by a
generation environment
The satisfaction can decrease even below code-
centric practices when the modeling activities are used
exclusively as blueprints to improve the
understanding, and the developers must implement
manually almost all the final code
30. Future Work
This is the beginning of a family of experiments in
which replicate this analysis with practitioners in
industry and more complex Web application models
(e.g. navigation and UI models)
Further experimentation is need to separate the effect
of methods from their tools (VS, RSM and OOH4RIA
Tool)
We must generalize to different population, methods
and application types and sizes