Subscribe by Email


Showing posts with label Web Engineering. Show all posts
Showing posts with label Web Engineering. Show all posts

Monday, September 5, 2011

What are different web engineering project metrics?

The objective of a good web application is that it delivers a combination of good content and appropriate functionality for the end user. Web engineering project metrics are defined that assess its internal productivity and quality are:

- Number of static web pages measure provides an indication of the overall size of the application and the effort required to develop it. This measure has less complexity and requires less effort to get construct.
- Number of dynamic web pages measure high complexity and more effort to get construct. It provides an indication of the overall size of the application and effort required to develop it.
- Number of internal page links measure gives an indication of degree of architectural coupling within the web application. Effort on navigation and construction increases as the number of page links increase.
- As Number of persistent data objects increases, the complexity and effort to implement it also grows.
- As Number of external systems interfaced increases, the complexity of the system and effort required for the development also increases.
- Number of static content objects includes static text, graphics, video, animation and audio within the application. Multiple content objects appear on single web page.
- Number of dynamic content objects includes objects based on end user action and includes text, graphic, video, animation and audio within the application. Multiple content objects appear on single web page.
- As the Number of executable functions increases, the modeling and construction effort also increases. A metric can be defined reflecting the degree of end user customization required for web application. An executable function provides a computational service to end user.

Web application metrics can be computed and correlated with measures like effort, errors and defects uncovered, models or documentation pages produced.


Tuesday, August 16, 2011

What are the guidelines to be remembered if In House Web Engineering strategy is chosen for web application development?

Due to the increasing complexity, the web application project becomes like a software engineering project management. It is important to recognize that the guidelines recommended for small and moderately sized WebE projects can be performed quickly. In no case, should WebE planning for projects of this size take more than 5 percent of overall project effort :

- One should understand the scope, the dimensions of change, and project constraints. For an effective WebApp planning, requirements gathering and customer communication are essential precursors.
- An incremental project strategy should be developed so that evolution is not uncontrolled and chaotic.
- Risk analysis should be performed. All risk management tasks are performed for web engineering projects but the approach is abbreviated. Schedule and technology risk is the most important concern for most web engineers.
- The overall project estimate should be developed which focuses on macroscopic rather than microscopic issues.
- A set of web engineering tasks is selected which is appropriate for characteristics of problem, product, project, people on web engineering team.
- A schedule is established in which web engineering tasks are distributed along project timeline for increment to be developed.
- Regardless of project size, it is important to establish project milestones so that progress can be assessed.
- A change management is facilitated by incremental development strategy recommended for web applications. There is a possibility to delay change until next increment which in turn reduces the delay effects that are associated with changes.


Tuesday, August 9, 2011

What are the requirements gathering steps that are used for web applications?

The objectives for web applications are identifying the content and functional requirements and to define the interaction scenarios for different classes of users. To achieve these objectives, following steps are conducted:
- User categories and descriptions are developed for each category by stakeholders.
- Web application requirements are defined and communicated to stakeholders.
- All the information that is gathered is analyzed and then the information is used to follow up with stakeholders.
- The use cases describing the interaction scenarios for each user class are defined.

DEFINING USER CATEGORIES
Understanding the user's background, motivation, and objectives is critical in all software engineering tasks. In order to define a user category:
- one should know the user's overall objective when he or she is using the web application.
- one should know the background of the user and the knowledge of content and functionality of the web application.
- one should know how the user should approach the web application.
- one should know the generic web application characteristics that the user will like or dislike.

COMMUNICATING WITH STAKEHOLDERS AND END USERS
The communication mechanisms that can be used in web engineering work are:
- traditional focus groups.
- electronic focus groups.
- iterative surveys.
- exploratory surveys.
- scenario building.

ANALYZING INFORMATION GATHERED
An evaluation of content objects and operations can be delayed until analysis modeling begins. It is more important to collect information and not evaluating it at this point. As information is gathered, it is categorized by user class and transaction type and then assessed for relevance.

DEVELOPING USE CASES
Use cases tell how a user category will interact with web application to accomplish a specific action. Use cases help the developer to understand the user perception while interacting with the web application, provide detail to create analysis model, help to separate WebE work and provide guidance who test WebApp.


Sunday, August 7, 2011

What are Web engineering Systems? What are the attributes for web based systems?

Web systems deliver complex array of content and functionality to end users. Web engineering creates high quality web applications. Web based systems grow complex, a failure in one can propagate broad based problems. There is a need for disciplined approaches and new methods and tools for development, deployment and evaluation of web based systems and applications.

Attributes for web based systems are:
- A web application should serve the needs of different community of clients.
- A large number of users may access the web application at one time.
- Web application should be able to handle unpredictable load.
- Users of popular web application demand access and availability of them round the clock.
- Web applications uses hypermedia and access information that exists on databases that were originally not a part of web based environment.
- The content should be of good quality.
- Web applications evolve continuously. Continuous care and feeding allows a web site to grow.
- Web applications exhibit a time to market. Web engineers use methods for planning, analysis, design, implementation and testing to compress time schedules.
- To protect sensitive content and provide secure modes of data transmission, strong security measures should be implemented.
- The look and feel of a web application should be appealing.

The categories of web applications that are encountered in web engineering are informational, download, customization, interaction, user input, transaction oriented, service oriented, portal, database access, data warehousing.


Wednesday, January 19, 2011

Hypermedia Design Patterns in Web Engineering

Web engineering uses design patterns. These are of two types:
- Generic design patterns - applicable for every software.
- Hypermedia design pattern - specific to WebApps.
Design problems can be solved by using design patterns. There are some pattern categories:

NAVIGATION PATTERNS
These patterns helps in the design of NSU, navigation links and overall navigation flow of the web application.

ARCHITECTURAL PATTERNS
It helps in the design of content and web application architecture. Many architectural patterns are available for web engineers who design web applications in various business domains.

COMPONENT CONSTRUCTION PATTERNS
The web application components can be combined by the methods provided by these patterns. When data processing functionality is required within a web application, the architectural and component level design patterns are applicable.

PRESENTATION PATTERNS
Presentation patterns assist in the presentation of content as it is presented to the user via the interface. They tell how to organize user interface control functions, shows the relationship between an interface action and the content object it affects, establish content hierarchies.

BEHAVIOR AND USER INTERACTION PATTERNS
These patterns assist in design of user machine interaction. They address how the interface informs the user of the consequences of a specific action, how a user expands content based on usage context, how to best describe the destination that is implied by a link.


Friday, November 20, 2009

Web Engineering Process

Choosing a process model is based on the attributes of the software to be developed.
If immediacy and continuous evolution are the primary attributes of WebApp, a web engineering team might choose an agile process model. If a WebApp is to be developed over a longer time period, an incremental process model might be chosen.

Defining a Framework :
Any one of the agile process models can be applied successfully as a WebE process. Before we define a process framework for WebE, three things must be kept in mind :
- WebApps are often delivered incrementally.
- Changes will occur frequently.
- Timelines are short.

WebE Process Framework :
- Customer Communication : Within the WebE process, customer communication is characterized by :
* Business analysis : It defines the business/organizational context for the WebApp
* Formulation : It is a requirements gathering activity involving all stakeholders. The intent is to describe the problem that the WebApp is to solve.
- Planning : The “plan” consists of a task definition and a timeline schedule for the time period (usually measured in weeks) projected for the development of the WebApp increment.
- Modeling :
Analysis model — establishes a basis for design.
* Content Analysis
* Interaction Analysis
* Functional Analysis
* Configuration Analysis
Design model — represents the key WebApp elements.
* Content design
* Aesthetic design
* Architectural design
* Interface design
* Navigation design
* Component design
- Construction : WebE tools and technology are applied to construct the WebApp that has been modeled.
- Deployment : The WebApp is configured for its operational environment, delivered to end-users, and then an evaluation period commences.


Thursday, November 19, 2009

Attributes of Web Based Systems

Web-based systems and applications deliver a complex array of content and functionality to a broad population of end-users. The following attributes are encountered in the vast majority of WebApps.

- Network Intensiveness.
- Concurrency.
- Unpredictable load.
- Performance.
- Availability.
- Data driven.
- Content sensitive.
- Continuous evolution.
- Immediacy.
- Security.
- Aesthetics.

The following application categories are most commonly encountered in WebE work :
- Informational : read-only content is provided with simple navigation and links.
- Download.
- Customizable.
- Interaction.
- User input.
- Transaction-oriented.
- Service-oriented.
- Portal.
- Database access.
- Data warehousing.


Monday, November 16, 2009

Introduction to Web Engineering

The impact of Web-based systems and applications is arguably the single most significant event in the history of computing. As WebApps grow in importance,a disciplined WebE approach adapted from software engineering principles, concepts, process, and methods has begun to evolve.
WebApps are different from other categories of computer software. They are network intensive, content driven, and continuously evolving. The immediacy that drives their development, the overriding need for security in their operation, and the demand for aesthetic as well as functional content delivery are additional differentiating factors. Like other types of software, WebApps can be assessed using a variety of quality criteria that include usability, functionality, reliability, efficiency, maintainability, security, availability, scalability, and time to market.

WebE can be described in three layers - process, methods, and tools/technology. The WebE process adopts the agile development philosophy that emphasizes a "lean" engineering approach that leads to the incremental delivery of the system to be built. The generic process framework - communication, planning, modeling, construction, and deployment - is applicable to WebE. These framework activities are refined into a set of WebE tasks that are adapted to the needs of each project. A set of umbrella activities similar to those applied during software engineering work - SQA, SCM, project management - apply to all WebE projects.


Facebook activity