Web engineering

Last updated

The World Wide Web has become a major delivery platform for a variety of complex and sophisticated enterprise applications in several domains. In addition to their inherent multifaceted functionality, these Web applications exhibit complex behaviour and place some unique demands on their usability, performance, security, and ability to grow and evolve. However, a vast majority of these applications continue to be developed in an ad hoc way, contributing to problems of usability, maintainability, quality and reliability. [1] [2] While Web development can benefit from established practices from other related disciplines, it has certain distinguishing characteristics that demand special considerations. In recent years, there have been developments towards addressing these considerations.

Contents

Web engineering focuses on the methodologies, techniques, and tools that are the foundation of Web application development and which support their design, development, evolution, and evaluation. Web application development has certain characteristics that make it different from traditional software, information system, or computer application development.

Web engineering is multidisciplinary and encompasses contributions from diverse areas: systems analysis and design, software engineering, hypermedia/hypertext engineering, requirements engineering, human-computer interaction, user interface, data engineering, information science, information indexing and retrieval, testing, modelling and simulation, project management, and graphic design and presentation. Web engineering is neither a clone nor a subset of software engineering, although both involve programming and software development. While Web Engineering uses software engineering principles, it encompasses new approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements of Web-based applications.

As a discipline

Proponents of Web engineering supported the establishment of Web engineering as a discipline at an early stage of Web. Major arguments for Web engineering as a new discipline are:

However, it has been controversial, especially for people in other traditional disciplines such as software engineering, to recognize Web engineering as a new field. The issue is how different and independent Web engineering is, compared with other disciplines.

Main topics of Web engineering include, but are not limited to, the following areas:

Modeling disciplines

Design disciplines, tools, and methods

Implementation disciplines

Testing disciplines

Applications categories disciplines

Attributes

Web quality

Education

See also

Related Research Articles

<span class="mw-page-title-main">Computing</span> Branch of knowledge

Computing is any goal-oriented activity requiring, benefiting from, or creating computing machinery. It includes the study and experimentation of algorithmic processes, and development of both hardware and software. Computing has scientific, engineering, mathematical, technological and social aspects. Major computing disciplines include computer engineering, computer science, cybersecurity, data science, information systems, information technology and software engineering.

<span class="mw-page-title-main">Computer science</span> Study of the foundations and applications of computation

Computer science is the study of computation, automation, and information. Computer science spans theoretical disciplines to practical disciplines. Computer science is generally considered an area of academic research and distinct from computer programming.

Software engineering is a systematic engineering approach to software development.

In computer science, formal methods are mathematically rigorous techniques for the specification, development, and verification of software and hardware systems. The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.

In software engineering, software configuration management is the task of tracking and controlling changes in the software, part of the larger cross-disciplinary field of configuration management. SCM practices include revision control and the establishment of baselines. If something goes wrong, SCM can determine the "what, when, why and who" of the change. If a configuration is working well, SCM can determine how to replicate it across many hosts.

Peter Pin-Shan Chen is a Taiwanese American computer scientist. He is a (retired) distinguished career scientist and faculty member at Carnegie Mellon University and Distinguished Chair Professor Emeritus at LSU. He is known for the development of the entity–relationship model in 1976.

In computer science, an abstract state machine (ASM) is a state machine operating on states that are arbitrary data structures.

Theresa-Marie Rhyne is an expert in the field of computer-generated visualization and a consultant who specializes in applying artistic color theories to visualization and digital media. She has consulted with the Stanford University Visualization Group on a color suggestion prototype system (2013), the Center for Visualization at the University of California at Davis (2013), the Scientific Computing and Imaging Institute at the University of Utah & (2014) on applying color theory to ensemble data visualization and the Advanced Research Computing Unit at Virginia Tech (2019). Her book on "Applying Color Theory to Digital Media and Visualization" was published by CRC Press on November 17, 2016. In 2017, Theresa-Marie began exploring color harmony Harmony (color) with the Munsell color system and her work on "Visual Analytics with Complementary and Analogous Color Harmony" was published in the Munsell Color Blog. In 2018, she organized and contributed to the SIGGRAPH 2018 panel on "Color Mavens Advise on Digital Media Creation and Tools", that included representation from X-Rite/Pantone, Adobe, Rochester Institute of Technology and Pixar and was presented in Vancouver, Canada. In 2019, she combined "her Munsell Color Harmony work with Scientific Visualization efforts". As of 2020, she began writing on applying color to data visualizations for Nightingale, the journal of the Data Visualization Society and a Medium publication.

Software visualization or software visualisation refers to the visualization of information of and related to software systems—either the architecture of its source code or metrics of their runtime behavior—and their development process by means of static, interactive or animated 2-D or 3-D visual representations of their structure, execution, behavior, and evolution.

<span class="mw-page-title-main">Ontology engineering</span> Field which studies the methods and methodologies for building ontologies

In computer science, information science and systems engineering, ontology engineering is a field which studies the methods and methodologies for building ontologies, which encompasses a representation, formal naming and definition of the categories, properties and relations between the concepts, data and entities. In a broader sense, this field also includes a knowledge construction of the domain using formal ontology representations such as OWL/RDF. A large-scale representation of abstract concepts such as actions, time, physical objects and beliefs would be an example of ontological engineering. Ontology engineering is one of the areas of applied ontology, and can be seen as an application of philosophical ontology. Core ideas and objectives of ontology engineering are also central in conceptual modeling.

Informatics is the study of computational systems, especially those for data storage and retrieval. According to ACM Europe andInformatics Europe, informatics is synonymous with computer science and computing as a profession, in which the central notion is transformation of information. In other countries, the term "informatics" is used with a different meaning in the context of library science.

Spec Explorer is a Model-Based Testing (MBT) tool from Microsoft. It extends the Visual Studio Integrated Development Environment with the ability to define a model describing the expected behavior of a software system. From these models, the tool can generate tests automatically for execution within Visual Studio's own testing framework, or many other unit testing frameworks.

Model-driven security (MDS) means applying model-driven approaches to security.

<span class="mw-page-title-main">Interaction Flow Modeling Language</span>

The Interaction Flow Modeling Language (IFML) is a standardized modeling language in the field of software engineering. IFML includes a set of graphic notations to create visual models of user interactions and front-end behavior in software systems.

Bill Curtis is a software engineer best known for leading the development of the Capability Maturity Model and the People CMM in the Software Engineering Institute at Carnegie Mellon University, and for championing the spread of software process improvement and software measurement globally. In 2007 he was elected a Fellow of the Institute of Electrical and Electronics Engineers (IEEE) for his contributions to software process improvement and measurement.

Software Intelligence is insight into the structural condition of software assets produced by software designed to analyze database structure, software framework and source code to better understand and control complex software systems in Information Technology environments. Similarly to Business Intelligence (BI), Software Intelligence is produced by a set of software tools and techniques for the mining of data and software inner-structure. End results are information used by business and software stakeholders to make informed decisions, measure the efficiency of software development organizations, communicate about software health, prevent software catastrophes.

Wisdom is a software development process and method to design software-intensive interactive systems. It is based on object modelling, and focuses human-computer interaction (HCI) in order to model the software architecture of the system i.e. it is architecture-centric. The focus on HCI while being architecture-centric places Wisdom as a pioneer method within human-centered software engineering. Wisdom was conceived by Nuno Nunes and first published in the years 1999-2000 in order to close the gaps of existing software engineering methods regarding the user interface design.

References

  1. Pressman, Roger S (1998). "Can Internet Applications be Engineered?". IEEE Software. 15 (5): 104–110. doi:10.1109/ms.1998.714869.
  2. Roger S Pressman, "What a Tangled Web we Weave," IEEE Software, Jan/Feb 2001, Vol. 18, No.1, pp 18-21
  3. Gerti Kappel, Birgit Proll, Seiegfried, and Werner Retschitzegger, "An Introduction to Web Engineering," in Web Engineering, Gerti Kappel, et al. (eds.) John Wiley and Sons, Heidelberg, Germany, 2003
  4. Deshpande, Yogesh; Hansen, Steve (2001). "Web Engineering: Creating Discipline among Disciplines". IEEE MultiMedia. 8 (1): 81–86. doi:10.1109/93.917974.
  5. JKU » Webwissenschaften - Master. Jku.at (2014-04-18). Retrieved on 2014-04-28.
  6. iWMC » Academic Program - Web Engineering. iWMC.at (2014-04-30). Retrieved on 2014-04-30.

Sources

Web engineering resources

Organizations
Books
Conferences
Book chapters and articles
Journals
Special issues

Citations