Software Development with Web Engineering
Software Development with Web Engineering
Engineering
Web software engineering has been developed under various approaches. In
the knowledge era it is very important to know about the software
development process, identifying the Analysis Modeling and the Design
Modeling of web software. This process must also consider issues related to
software testing, which cannot be left out of the development process. The
web software development process must be adopted under a quality
approach, considering the appropriate methods, techniques and tools for its
generation. The software industry is increasingly demanding the creation of
websites, web pages, web applications and a variety of software in the web
environment, including virtual learning environments. It is necessary to guide
the web developer through a process that allows for the correct and complete
construction of the web software. This book provides a series of practices
and techniques to create each of the phases of web software development
through web engineering models. Formats are included to document a web-
based project and to carry out the application of analysis modeling and
design modeling.
Computer systems engineer. In 1995, he was awarded the ITCM prize for the
highest average. In 1995, she was awarded the ANFEI prize for best ITCM
engineering graduate. In 1995 Master of Science in Computer Science. In
1998, he obtained a Master's degree in information Rosa Imelda Garcia Chi
technology. In 2010, ITV teacher and postgraduate
teacher at UNID and ALIAT
Software development
with Web Engineering
Practical Guide and Techniques
Spanish academic publisher
978-3-659-65809-9
Rosa Imelda Garcia Chi
Publisher/ Editorial:
Spanish Academic Publishing House
ist ein Imprint der/ is a brand of
ICS Morebooks! Marketing SRL
4, Industriala street, 31 00 Balti, Republic of Moldova
Email: [email protected]
Web engineering is due to the unbridled growth that the Web is having, which
is causing an impact on society and the new management that is being given
to information in the different areas in which it is presented has made people
tend to carry out all their activities through this means.
Since this began to happen, the Internet became more than just a hobby and
began to be taken more seriously, since the increase in publications and
information made the Web become a challenge for software engineers
(Software Engineering), as a result of this, disciplined, systematic approaches
and methodologies were created where specific aspects of this new medium
were taken into account.
Web Engineering - Practical Guide and
Techniques 2017
Content
In the first section, we begin with practices related to the strata: processes,
methods, tools/technology. The IWeb Process adopts the agile development
approach that emphasizes a “lean,” rigorous engineering viewpoint leading to
incremental delivery of the system to be built. At this point the first phase of the
IWeb project is developed, which corresponds to the proposal.
In the third section, practices that describe the IWeb Analysis Modeling are
integrated, whose purpose is to describe the basic motivation (goals) and
objectives of a WebApps, define the user categories and point out the content and
function requirements of the WebApps to establish a basic understanding of why
the WebApps will be built, who will use it and what problems it will solve for users,
generating phase three of the project, called IWeb Analysis Modeling.
In the fourth section, the IWeb design modeling is addressed, which defines
quality in terms of ease of use, functionality, reliability, efficiency, ease of
maintenance, security, scalability and time on the market.
And finally, the topics related to IWeb Tests are reviewed. The goal of testing
Web Apps is to exercise each of the many dimensions of quality in order to find
errors or uncover conflicts that could lead to quality failures. Testing focuses on
content, function, structure, usability, navigability, performance, compatibility,
interoperability, capacity, and security.
Testing also incorporates reviews that occur as the Web App is designed.
This unit proposes testing the product obtained by applying Web Engineering
modeling in each of its phases. Evidence of the application of the tests is
requested.
This Technical Guide aims to integrate the different elements, criteria and
methods, and includes the basic information to solve a set of Web Software
Engineering practices of the Computer Systems Engineering Degree, which
provides the student with the ability and skill to know, understand and apply in
depth the technologies and methodologies present in the professional environment
for the development of Web applications, design and direct quality solutions based
on Web applications, as well as analyze and evaluate current Web applications
within the legal, social and economic framework.
The Guide presents a series of practices or project phases that cover each
of the skills that a web software development engineer must integrate. The
Formats are included to develop the phases of the IWeb project, so that the
practitioner or developer integrates an integrative document at the end, showing
the application and result of each of the practices or phases.
^ Applies models, techniques and tools for each of the stages of the traditional
and object-oriented software development life cycle
^ Learn about Advanced Database Systems
^ Use some modeling language (UML)
^ Learn about advanced web programming
^ Identify different Technological Architectures
^ Programming.
^ Operating Systems.
^ Distributed Systems.
^ Software Engineering.
^ Computer Engineering.
^ Information Systems.
^ Information Technologies.
^ Information Technology Management
^ Business Administration and Management.
^ Service-oriented systems.
^ Develop the ability to identify the attributes that exist in most WebApps; as
well as the layers of WebApp engineering and the Web Engineering
process.
^ Develop the ability to apply the quality of a WebApps in terms of ease of use,
functionality, reliability, efficiency, ease of maintenance, security and
scalability and time in the market achieving a good design with simplicity,
consistency, identity, robustness, navigability and visual appearance.
Introduction to the
Web engineering
4 Phase 1. Introduction to Web Engineering
Three very important concepts. Work is done for human beings who want to
perform a task in a simple and efficient way and in this particular case, they must
do it in front of a computer in a graphical environment, the Web.
Usability helps this task to be carried out in a simple way by analyzing human
behavior and the steps necessary to execute the task effectively. It may sound like
a bit of an industrial job, but when we refer to the term ^^^^^^^^ ^^ it refers to
searching for a program you want to watch on TV, looking up information about a
favorite soccer team, or buying a book on martial arts.
This means that without users your page dies, so you better take care of them and
give them what they ask for, otherwise you will be left alone.
On the Internet, it is more important that your website is fast than pretty, reliable
than modern, simple than complex, direct.
3. Security.
If in the real world we sometimes find it hard to trust the bank on the corner,
imagine how people feel on the Internet when they come to your site. Make sure
everything runs smoothly so people can trust your site.
4. Trust is something that is hard to gain and is lost with a bad link.
This means that with the current competition on the Internet, you cannot lose a
single visitor by having a poorly made link. It is better to go with something simple
and gradually complicate it, than to go all out and see “what happens.” Versions
1.0 are good as long as what is in place is well established and generates
confidence. Little by little and with user feedback, you will be able to make the
People aren't going to learn your site no matter how much you insist, so at least
keep it simple, reuse as many elements as you can, so that users feel comfortable
and don't get lost every time they need to find something on your site.
The user will feel more comfortable if he sees the goals at the beginning. This way
you won't have to search for what you need and you'll waste less time completing
your task. If they complete their task in less time, they will feel comfortable and
may explore your site or recommend it to a friend.
8. Good content.
Writing well for the Internet is an art. But by following the basic rules of (1) putting
the conclusions at the beginning, (2) writing about 25% of what you would put on
paper, you can go a long way.
(3) Reading on a screen is a challenge, so for web text, reduce and simplify as
much as possible.
9. Content evaluation.
4.3.1 Process
Web process models adopt the agile development philosophy. Agile development
emphasizes a rigorous development approach that incorporates rapid
development cycles.
Before defining a process framework for the IWeb it must be recognized that:
4.4.3 Planning:
The project plan for the WebApp increase is created. The plan consists of a
definition of tasks and a schedule of deadlines regarding the period established for
the development of the project.
4.4.4 Modeling:
Conventional software engineering analysis and design tasks are adapted to
WebApp development, mixed, and then merged into an IWeb modeling activity.
The intent is to develop rapid analysis and design models that define requirements
and at the same time represent a WebApp that will satisfy them.
4.4.5 Construction:
IWeb tools and technology are applied to build the WebApp that has been
modeled. Once the WebApp increment is built it goes through a series of quick
tests to ensure that any errors in the design are discovered.
4.4.6 Deployment:
The WebApp is configured for your operating environment, delivered to end users,
and then an evaluation period begins. Feedback on the assessment to carry out
the respective processes.
It is important to note that tasks associated with the IWeb framework activity may
be modified, removed, or extended based on the characteristics of the problem,
the product, the project, and the people on the Web engineering team.
• Take time to understand the business needs and product goals, even if the
details of the WebApp are vague.
• Describe how users will interact with the WebApp using a scenario-based
approach.
• Develop a project plan, even if it is very brief
1. Executive summary
2. Product description and distinctive value
3. Potential market
4. Competence
5. Business model and financial plan
6. Management team and organization
7. Development status and implementation plan
8. Strategic alliances
9. Marketing and sales strategy
10. Main risks and exit strategies
Applicable goals: indicate the ability to perform some task within the WebApp.
3. Analyze the information collected and use the information to follow up with
customers.
4. Define use cases that describe interaction scenarios for each class of user.
^ The Actors
^ Developers/Content Providers
^ Web Editors
^ Web Engineer
^ Business domain experts
^ Support Specialist
^ Administrator
6.3.1 Team building
For team building it is particularly relevant when an organization forms an IWeb
team
What degree of planning, work schedule, and risk assessment can be expected as
an organization embarks on an effort to develop a large WebApp?
These questions are not always easy to answer, but some guidelines are worth
considering.
7.1.2 Introduction
7.1.4 Methodology
7.1.5 Suggestions
• Formulation
• Gathering Requirements
• Analysis modeling
^ Understandable.
^ Cohesive
^ Loosely coupled
^ Hierarchically superficial.
Since activity analysis and modeling are iterative activities.
Four analysis activities, each with its contribution to the creation of a complete
analysis model, are:
^ Content analysis
^ Interaction analysis
^ Function analysis
^ Configuration analysis
The model itself contains structural and dynamic elements. Structural elements
identify the types of analysis and content objectives required to create a WebApp
that meets customer needs.
The dynamic elements of the analysis model describe how the structural elements
interact with each other and with end users.
Like other elements of the analysis model, the content model is derived from a
careful examination of the use cases developed for the WebApp.
^ Use cases
^ Sequence diagrams
^ State diagrams
^ User Interface Prototype
8.4.1 Use Cases
A use case is modeled for all the processes that the WebApp must carry out.
Processes are described within the use case by a textual description or a
sequence of executed steps.
Activity Diagrams can also be used to model scenarios graphically. Once the
application behavior is captured in this way, use cases are examined and
extended to show what objects interrelate to make this behavior occur.
The vertical axis represents time, and on the horizontal axis the objects and actors
8.4.4 UI Prototype
Some proposals are based on obtaining prototypes from the definition of
requirements that, without having all the functionality of the system, allow the user
to get an idea of the structure of the system's interface with the user. This
technique has the problem that the user must understand that what he is seeing is
a prototype and not the final system.
Since WebApp development tools are abundant and functionally powerful, it is best
to prototype the interface using such tools.
^ Functionality observable with respect to the user and delivered to the end
user of the WebApp.
User observable functionality includes any processing functions that the user
directly indicates. For example, a financial website may implement a variety of
financial functions.
However, analyzing these models and techniques and looking at the results of
different comparative studies, it can be observed that this aspect, in most
proposals, is dealt with only in the last phases of the life cycle, mainly in design
and implementation.
^ contents
^ interaction
^ function
^ settings
The product of the IWeb model analysis work is a set of
UML diagrams and a descriptive text describing the
results of the four analyses performed. Analysis Work
Products are reviewed for correctness, completeness,
and consistency.
Formulation
Gathering Requirements
Therefore, there is a great need for effective methodologies for obtaining quality
Web applications. Currently, there are two strands of development methodologies
for the Web: the Software Engineering community and the Hypermedia
community. These methodologies, however, lack metrics that can be applied to
intermediate models (e.g. Object Model, Navigational Model) used in the Web-
oriented development process.
• Security
• Availability
• Scalability
• Time on the market
10.1.2 Design goals
One of the design goals of a WebApp is to cover the following:
^ Simplicity
^ Consistency
^ Identity
^ Robustness
^ Navigability
^ Visual appearance
• Easy to use
• Easy to learn
• Easy to navigate
• Intuitive
• Consistent
• Efficient
• Error free
• Functional
It must offer the end user a satisfactory and rewarding experience.
The essential principles and guidelines for the design of a WebApp can be
mentioned:
em, %, ex, px
Relative units
in
H1 {margin: 0.5em}
P {line-height: 140%}
ex
H1 {margin: 1ex}
px
P { font-size: 14px }
Against
No screen adaptation: the characteristics of the monitor used by the user are not
known a priori. “Lock” the page according to the bias of the paper.
Presenting more information on the screen and reducing the scroll effect.
Adaptation to the environment.
Against
Causes very long lines of text in case of very high screen resolutions: difficulty in
reading.
Against
Increasing the text size can cause the horizontal scroll bar to scroll in certain
All the good things about the fixed, fluid and elastic design.
Against
4. Define a set of user tasks that are associated with each action.
6. Refine the interface template and mockups using input from aesthetic design.
Content architecture is based on the way content objects are structured for
presentation and navigation.
^ Linear structures
^ Grid structures
^ Hierarchical structures
Producing applications in which the user can take advantage of the potential of the
website navigation paradigm, while executing transactions based on information, is
a very difficult task to achieve.
First of all, navigation has some problems. A robust navigation structure is one of
the keys to success in hypermedia applications. If the user understands where
they can go and how to get there, it is a good sign that the app has been well
designed.
Building the interface of a web application is also a complex task; not only does
one need to specify which interface objects should be implemented, but also how
these objects will interact with the rest of the application.
It uses UML-like notation (Unified Modeling Language) and class and relationship
cards similar to CRC (Collaboration Responsibility Class) cards. The class schema
consists of a set of classes connected by relationships. Objects are instances of
classes. Classes are used during navigational design to derive nodes, and
relationships are used to build links.
Nodes, links and access structures. The semantics of nodes and links are
traditional for hypermedia applications, and access structures, such as indexes or
guided tours, represent possible access paths to the nodes.
Navigational contexts play a similar role to collections and were inspired by the
concept of nested contexts. They organize the navigational space into convenient
sets that can be traversed in a particular order and that should be defined as paths
to help the user achieve the desired task.
Nodes are enriched with a set of special classes that allow a node to observe and
present attributes (including anchors) as well as methods (behavior) when
navigated in a particular context.
The ADVs (Abstract Data View) interface model specifies the organization and
behavior of the interface, but the actual physical appearance or attributes, and the
arrangement of the ADVs properties on the actual screen are done in the
implementation phase.
10.8.4 Implementation
In this phase, the designer must implement the design. Until now, all models were
built independently of the implementation platform; in this phase, the particular
environment in which the application will run is taken into account.
Upon reaching this phase, the first step the designer must take is to define the
information items that are part of the problem domain. You must also identify how
items are organized according to the user profile and task; decide what interface
they should see and how they should behave. In order to implement everything in
a Web environment, the designer must also decide what information should be
stored.
. Bi-
mrea
15Gs
Both reviews and tests examine one or more of the following quality dimensions:
The testing function to discover errors that indicate there is no match with
customer requirements.
The structure is assessed to ensure that it adequately delivers the content and
function of the WebApp.
*Navigability is tested to ensure that all navigation syntax and semantics are
exercised to uncover any navigation errors.
The process of testing the WebApp is a sum of activities related to a single goal:
discovering errors in the content, function, usability, navigability, performance,
capacity, and security of the WebApp.
Web engineers and other project participants (managers, clients, end users) take
part in the WebApp testing process.
If end users encounter bugs that affect their confidence in the WebApp, they will
go elsewhere for the content and functionality they need, and the WebApp will fail.
For this reason, Web engineers must work to eliminate as many bugs as possible
before the WebApp goes online.
The testing process begins by focusing on those aspects of the test that are visible
to the user and proceeds to test said technology and infrastructure.
In all cases a set of test cases is developed for each stage of testing and an
archive of test results is maintained for future use.
While you can never be sure that you have performed all the testing you need, you
can be confident that the testing has uncovered bugs (and that these have been
fixed).
Additionally, if a test plan has been established, it can be verified to ensure that all
planned tests have been performed.
Figure 6 shows all the tests to be applied to the Page that has been developed:
TESTING PROCESS
Integrating Document
3. Booch, G., et al., The unified modeling language. 1999: Addison Wesley
Madrid.
5. Fowler, M., R. SCOTT, and K. Scott, UML drop by drop. 1999: Pearson
Education.
7. Garcia Molina, JJ, G. Rossi, and A. Moreira, UML: the standard language for
software modeling. Novática: Journal of the Association of Computer
Technicians, 2004(168): p. 4-5.
8. Genoa, G., J.M. Fuentes, and J. Llorens, Evaluation of CASE tools for UML.
16. Senn, J.A. and D. Mercer, Systems Analysis and Design. 1992: Mexico:
McGraw Hill.
18. Thomas, D., et al., Agile web development with rails. 2005: Pragmatic
bookshelf New York.