Software Engineering for Modern Web Applications
Latest Publications


TOTAL DOCUMENTS

16
(FIVE YEARS 0)

H-INDEX

2
(FIVE YEARS 0)

Published By IGI Global

9781599044927, 9781599044941

Author(s):  
Jaroslac Král ◽  
Michal Žemlicka

Service-oriented software systems (SOSS) are becoming the leading paradigm of software engineering. The crucial elements of the requirements specification of SOSSs are discussed as well as the relation between the requirements specification and the architecture of SOSS. It is preferable to understand service orientation not to be limited to Web services and Internet only. It is shown that there are several variants of SOSS having different application domains, different user properties, different development processes, and different software engineering properties. The conditions implying advantageous user properties of SOSS are presented. The conditions are user-oriented interfaces of services, the application of peer-to-peer philosophy, and the combination of different technologies of communication between services (seemingly the obsolete ones inclusive), and autonomy of the services. These conditions imply excellent software engineering properties of SOSSs as well. Service orientation promises to open the way to the software as a proper engineering product.


Author(s):  
Margaret Menzin

This chapter consists of a comprehensive bibliography of web engineering resources. Since this list will constantly be changing, the author provides a web site for a current and more comprehensive listing: (URL=”http://web.simmons.edu/~menzin/WebCentricResources.html”) This print version of this resource shows the URL’s in printed form, generally in the format as “(URL=…)”. Be sure to check the General Tools section, in addition to the sections for specific topics.


Author(s):  
Clif Kussmaul ◽  
Roger Jack

This chapter addresses issues, alternatives, and best practices for prototyping in Web development. The chapter’s primary objective is to provide a clear and concise overview of key concepts and best practices for practitioners and students, as well as other audiences. The chapter focuses on graphical user interface (UI) prototyping for Web development, but many of the principles apply to non-UI prototyping and other sorts of software development. First, we introduce and motivate the chapter, and review the major objectives, benefits and risks, and classifications of prototypes. Second, we describe the major approaches to prototyping. Finally, we conclude with future trends and a summary of best practices.


Author(s):  
Jorge Marx Gómez ◽  
Daniel Lübke

Service-oriented architecture (SOA) is an emerging architectural style for developing and structuring business applications, especially enterprise resource planning (ERP) systems. SOA applications are composed of small, independent, and network-accessible software components, named services. The service composition is normally based on the enterprise’s business processes. However, current composition standards like BPEL have no ability to interact with users. Therefore, we propose a mechanism for including user interaction descriptions into the composition and extending the composition platform for generating user interfaces. In our case study, a federated ERP (FERP) system, this mechanism has been implemented in a prototype based on yet another workflow language (YAWL) dynamically generating Web pages for accessing the ERP system. Because every aspect including the user interfaces can be manipulated through the service composition, such systems are highly flexible yet maintainable.


Author(s):  
Kevin Gary ◽  
Harry Koehnemann

The software engineering community touts component-based software engineering as a solution for many of its woes including reducing cycle time, reducing costs, increasing productivity, allowing easier integration to name just a few. Indeed, many Web-based systems are now built with open-source and vendor provided component technologies. While these advances have led to improvements in the development process, they have also led to a great deal of pressure on downstream processes as these systems must be deployed, tuned, and supported. The complexities in deploying and supporting component- based software for distributed and Web-based applications are not understood in the academic or professional communities. This chapter stresses the need for addressing this problem by presenting component-based software for Web applications from a deployment perspective, characterizing the issues through real-world experiences with highly component-based applications, and presents strategies and directions for the community to pursue.


Author(s):  
Nary Subramanian ◽  
George Whitson

Process is an important element in the success of any information systems development project, especially in academia where typically an undergraduate term project needs to go through the development phases within the space of a semester. Traditionally academic processes have been adapted versions of well-known industrial processes with one major exception—lack of customer feedback in the process. This omission of customer feedback results in students completing “toy” projects without significant real-world experience; efforts to incorporate artificial customer interactions have not been very successful either. It is our opinion that the industry processes cannot be simply copied in academia; what is required is a process that will better equip the students to face real-world challenges. WebHelix has been recently introduced as a practical process for Web engineering that helps students gain valuable real-world experience without sacrificing project and product management phases. In this chapter we propose the Augmented WebHelix process that augments the WebHelix in three ways: provides an option at the end of each slice of the helix to both release the current version and continue to the next slice of development; provides a qualitative evaluation framework, called the project evaluation framework (PEF), that provides a systematic approach for evaluating the status of the project; and the ability to evaluate the project at the end of each phase in a slice of the helix. The first augmentation provides the ability to release and continue which is more practical than the go/no-go approach adopted by WebHelix; the second augmentation, the PEF, allows different factors besides the return-on-investment as in WebHelix to be considered for evaluating the current phase and status of the project, and the third augmentation provides the ability to ensure the project is on track. In this chapter we describe the augmented WebHelix process and demonstrate its applicability to both academia and industry with examples.


Author(s):  
San Murugesan ◽  
Athula Ginige

Web-based systems and applications now deliver a complex array of functionality to a large number of diverse groups of users. As our dependence and reliance on the Web has increased dramatically over the years, their performance, reliability and quality have become paramount importance. As a result, the development of Web applications has become more complex and challenging than most of us think. In many ways, it is also different and more complex than traditional software development. But, currently, the development and maintenance of most Web applications is chaotic and far from satisfactory. To successfully build and maintain large, complex Web-based systems and applications, Web developers need to adopt a disciplined development process and a sound methodology. The emerging discipline of Web engineering advocates a holistic, disciplined approach to successful Web development. In this chapter, we articulate and raise awareness of the issues and considerations in large, complex Web application development, and introduce Web engineering as a way of managing complexity and diversity of large-scale Web development.


Author(s):  
Tony C. Shan ◽  
Winnie W. Hua

This chapter defines a methodical approach, named model-centric architecting process (MAP), to effectively cope with the architecture design complexity and manage the architecting process and lifecycle of information systems development in a service-oriented paradigm. This comprehensive method comprises four dimensions of architecting activities: requirement analysis, specification, validation, and planning (RSVP). The process is broken down into nine interrelated models: meta architecture, conceptual architecture, logical architecture, physical architecture, deployment architecture, management architecture, information architecture, aspect architecture, and component architecture. A 2-D matrix serves as a blueprint to denote a step-by-step procedure to produce and manage the architectural artifacts and deliverables in the lifecycle of systems architecture design, development and governance. The holistic framework provides a multidisciplinary view of the design principles, tenets, idioms, and strategies in the IT architecting practices. The characteristics and features of the constituent elements in the MAP approach are articulated in great detail. Recommendations and future trends are also presented in the context. It helps build high-quality service-oriented solutions focused on different domains, and in the meantime keeps the agility, flexibility and adaptiveness of the overall method. This systematic framework may be customized in different formats to design various information systems in different industries.


Author(s):  
David L. Mills

This chapter explores the concepts and challenges behind testing Web applications, and explores the latest testing techniques and best practices. As our reliance on the Internet grows, the quality and reliability of online resources become critical. Unfortunately, significant research shows that the current approaches to modern Web development are woefully inadequate. It is important that there are processes in place and best practices established to ensure that the development of Web applications can take place with an assurance of quality. In addition to offering an initiation to some of the modern testing methods and tools, the authors hope to motivate readers to consider testing as a multi-purpose tool to be used throughout all stages of development.


Author(s):  
Guoqing Guoqing Wei ◽  
Linda Sherrell

Agile methods are flexible, allowing software developers to embrace changes during the software development life cycle. But the introduction of agile practices into software organizations may cause unhealthy tensions between the developers and data professionals. The underlying reason is that when agile methodologies are employed, the two communities use incompatible approaches, namely simple design and iterative development, which are practices associated with all agile methodologies, and big design up front (BDUF), a popular database technique. BDUF is inflexible, as once the database foundation is set, it is difficult to make changes throughout the software development life cycle. This chapter describes a database development method for a Web environment. Using this method, a data professional divides the database into loosely coupled partitions and resolves the above conflicts by applying certain agile practices. The result is that the database development becomes more iterative and incremental . This has the added benefit of supporting rapid application development in a dynamic environment, a fundamental characteristic of most Web applications.


Sign in / Sign up

Export Citation Format

Share Document