SCM Issues for WebE
29.7.3 SCM Issues for WebE
Over the past decade, WebApps have evolved from informal devices for information dissemination to sophisticated sites for e-commerce. As WebApps become increas- ingly important to business survival and growth, the need for configuration control
“The most effective grows. Why? Because, without effective controls, improper changes to a WebApp way to cope with
(recall that immediacy and continuous evolution are the dominant attributes of many change is to help
create it.” WebApps) can lead to (1) unauthorized posting of new product information, (2) erro- neous or poorly tested functionality that frustrates visitors to a Web site, (3) security
L. W. Lynett
holes that jeopardize internal company systems, and other economically unpleasant or even disastrous consequences.
The general strategies for software configuration management (SCM) described in Chapter 9 are applicable, but tactics and tools must be adapted to conform to the unique nature of WebApps. Four issues [DAR99] should be considered when devel- oping tactics for WebApp configuration management—content, people, scalability, and politics.
CHAPTER 29
WEB ENGINEERING
Content. A typical WebApp contains a vast array of content—text, graphics, applets, scripts, audio and video files, forms, active page elements, tables, streaming data, and many others. The challenge is to organize this sea of content into a rational set of configuration objects (Chapter 9) and then establish appropriate configuration control mechanisms for these objects. One approach is to model the WebApp content using conventional data mod- eling techniques (Chapter 11), attaching a set of specialized properties to each object. The static or dynamic nature of each object and its projected longevity (e.g., temporary, fixed existence, or permanent object) are examples of properties that are required to establish an effective SCM approach. For example, if a content item is changed hourly, it has temporary longevity. The control mechanisms for this item would be different (less formal) than those applied for a forms component that is a permanent object.
People. Because a significant percentage of WebApp development contin- ues to be conducted in an ad hoc manner, any person involved in the WebApp can (and often does) create content. Many content creators have no
Controlling change software engineering background and are completely unaware of the need during WebE projects is
for configuration management. The application grows and changes in an essential, but it can be
overdone. Begin with uncontrolled fashion. relatively informal
Scalability. The techniques and controls applied to small WebApps do not change control
scale upward well. It is not uncommon for a simple WebApp to grow signifi- procedures (Chapter
9). Your initial goal cantly as interconnections with existing information systems, databases, data should be to avoid the
warehouses, and portal gateways are implemented. As size and complexity ratcheting effects of
grows, small changes can have far-reaching and unintended effects that can uncontrolled change.
be problematic. Therefore, the rigor of configuration control mechanisms should be directly proportional to application scale.
Politics. Who “owns” a WebApp? This question is argued in companies large and small, and its answer has a significant impact on the management and control activities associated with WebE. In some instances Web devel- opers are housed outside the IT organization, creating potential communi- cation difficulties. Dart [DAR99] suggests the following questions to help understand the politics associated with WebE: Who assumes responsibility for the accuracy of the information on the Web site? Who ensures that qual- ity control processes have been followed before information is published to the site? Who is responsible for making changes? Who assumes the cost of change? The answers to these questions help determine the people within an organization who must adopt a configuration management process for WebApps.
Configuration management for WebE is in its infancy. A conventional SCM process may be too cumbersome. The vast majority of SCM tools lack the features that allow Configuration management for WebE is in its infancy. A conventional SCM process may be too cumbersome. The vast majority of SCM tools lack the features that allow
• How can we create a configuration management process that is nimble enough to accommodate the immediacy and continuous evolution of WebApps?
• How can we best introduce configuration management concepts and tools to developers who are completely unfamiliar with the technology?
• How can we provide support for distributed WebApp development teams? • How can we provide control in a quasi-publishing environment where con-
tent changes on a nearly continuous basis? • How can we attain the granularity required to control a large array of config-
uration objects? • How can we incorporate configuration management functionality into exist-
ing WebE tools? • How can we manage changes to objects that contain links to other objects?
These and many other issues must be addressed before effective configuration man- agement is available for WebE.
Parts
» The Concurrent Development Model
» SUMMARY Software engineering is a discipline that integrates process, methods, and tools for
» PEOPLE In a study published by the IEEE [CUR88], the engineering vice presidents of three
» THE PROCESS The generic phases that characterize the software process—definition, development,
» THE PROJECT In order to manage a successful software project, we must understand what can go
» METRICS IN THE PROCESS AND PROJECT DOMAINS
» Extended Function Point Metrics
» METRICS FOR SOFTWARE QUALITY
» INTEGRATING METRICS WITHIN THE SOFTWARE PROCESS
» METRICS FOR SMALL ORGANIZATIONS
» ESTABLISHING A SOFTWARE METRICS PROGRAM
» Obtaining Information Necessary for Scope
» An Example of LOC-Based Estimation
» QUALITY CONCEPTS 1 It has been said that no two snowflakes are alike. Certainly when we watch snow
» SUMMARY Software quality assurance is an umbrella activity that is applied at each step in the
» R diagram 1.4 <part-of> data model; data model <part-of> design specification;
» SYSTEM MODELING Every computer-based system can be modeled as an information transform using an
» Facilitated Application Specification Techniques
» Data Objects, Attributes, and Relationships
» Entity/Relationship Diagrams
» Hatley and Pirbhai Extensions
» Creating an Entity/Relationship Diagram
» SUMMARY Design is the technical kernel of software engineering. During design, progressive
» Data Modeling, Data Structures, Databases, and the Data Warehouse
» Data Design at the Component Level
» A Brief Taxonomy of Styles and Patterns
» Quantitative Guidance for Architectural Design
» Isolate the transform center by specifying incoming and outgoing
» SUMMARY Software architecture provides a holistic view of the system to be built. It depicts the
» The User Interface Design Process
» Defining Interface Objects and Actions
» D E S I G N E VA L U AT I O N
» Testing for Real-Time Systems
» Organizing for Software Testing
» Criteria for Completion of Testing
» The Transition to a Quantitative View
» The Attributes of Effective Software Metrics
» Architectural Design Metrics
» Component-Level Design Metrics
» SUMMARY Software metrics provide a quantitative way to assess the quality of internal product
» Encapsulation, Inheritance, and Polymorphism
» Identifying Classes and Objects
» The Common Process Framework for OO
» OO Project Metrics and Estimation
» Event Identification with Use-Cases
» SUMMARY Object-oriented analysis methods enable a software engineer to model a problem by
» Partitioning the Analysis Model
» Designing Algorithms and Data Structures
» Program Components and Interfaces
» SUMMARY Object-oriented design translates the OOA model of the real world into an
» Testing Surface Structure and Deep Structure
» Deficiencies of Less Formal Approaches 1
» What Makes Cleanroom Different?
» Design Refinement and Verification
» SUMMARY Cleanroom software engineering is a formal approach to software development that
» Structural Modeling and Structure Points
» Describing Reusable Components
» SUMMARY Component-based software engineering offers inherent benefits in software quality,
» Guidelines for Distributing Application Subsystems
» Middleware and Object Request Broker Architectures
» An Overview of a Design Approach
» Consider expert Web developer will create a complete design, but time and cost can be appropriate
» A Software Reengineering Process Model
» Reverse Engineering to Understand Data
» Forward Engineering for Client/Server Architectures
» SUMMARY Reengineering occurs at two different levels of abstraction. At the business level,
Show more