Sie sind auf Seite 1von 5

Estimating Web-Based Application Development

Tassc
www.tassc-solutions.com
November 2001
Tassc Ltd., 2001. All rights reserved.
Web-based applications represent the future of Information Technology. For those businesses,
large and small, with an established presence on the World Wide Web, that future is already here.
It is a connected world and few would argue that, despite the recent dot.com collapse, the e
revolution is now unstoppable.
Organizations embracing e-commerce demand a secure, reliable, efficient and flexible
infrastructure across a range of hardware and software platforms. Successful delivery of mission-
critical web-based applications and their integration into the business depends as much on
project management best practice as it does on choosing the most appropriate technology.
In this paper, we examine the issues specific to estimating web-based application development
and discuss extensions to ObjectMetrix, an emerging standard for estimating and forecasting
effort, duration and cost of UML-based software development projects.
What is a Web-Based Application?
browser interface
to business logic
In all but the m ost trivial of cases, a w eb-based application is essentially a client-server system ,
w hich com bines traditional business logic and functionality, usually server-based, w ith the
hyperm edia navigation and data entry facilities provided by brow ser technology running on the
client. Through a client w eb brow ser, users are able to invoke business operations and
subsequently to change the state of business data on the server.
The range of w eb-based applications varies enorm ously, from sim ple w eb sites that are essentially
hypertext docum ent presentation applications, to sophisticated high-volum e e-com m erce
applications often involving supply, sourcing, ordering, paym ent, tracking and dispatch of goods or
the provision of services.
Web-Based Application Development
implications for
project
management and
development
processes
The unique nature of m any w eb-based applications broadens the role of traditional project
m anagem ent and adds a new dim ension to the softw are developm ent process. In addition to the
participation and contribution of analysts, designers, program m ers, architects, m anagers, dom ain
experts and so on, w eb-based applications often contain significant m ultim edia content (im ages,
m ovie clips, sound clips and text) requiring specialist resources for their developm ent.
multimedia
development
G roups separate from the softw are engineers usually produce m ultim edia w eb content in parallel, in
a sim ilar w ay that on-line help is typically produced by a technical w riter rather than a softw are
developer. Som e recent studies indicate that specialist resources needed to develop m ultim edia
content m ay outnum ber softw are engineers.
For the purposes of estim ating softw are developm ent effort, m ultim edia content is assum ed to exist
as re-usable elem ents and the effort required for their production is outside the scope of the
softw are engineering process. H ow ever, the effort of integrating these elem ents needs to taken into
account.
focus on
developing
business logic
The novelty of developing w eb-based applications can be captivating and m ay obscure the fact that
m odelling an applications business logic, w hether it is being im plem ented in a w eb page, a
com ponent or an object rem ains the central focus of the project.
W eb-based application developm ent requires project m anagem ent best practice as m uch as any
other type of application developm ent.
Web-Based Application Architecture
a client-server
architecture
The architecture of a w eb-based application is essentially client-server, com prising a client brow ser,
a w eb server and a com m unications netw ork.
A principal consideration in client-server application architecture, and therefore w eb-based
application architecture, is partitioning functionality betw een the client and the server. This is often
reduced to a choice betw een thin client versus thick client (or som ething in betw een) and the extent
to w hich a distributed object infrastructure is required.
These decisions are dependent on a num ber of factors specific to the nature of the application
under consideration and the capabilities of the underlying technology.
O nly w hen the high-level application architecture has been defined is it possible to specify w hich
architecturally significant scope elem ents need to exist on the client or on the server, and those that
need to exist on both. Scope elem ents can then be identified, enum erated and used as detailed
input to the softw are estim ation process.
Web-Based Application Concepts
web pages are
new abstractions
Although w eb-based applications are essentially client-server system s that can be m odelled by
standard U M L types, som e of their novel features require the introduction of som e new concepts
necessary to m odel the w eb-specific aspects of the system .
The fundam ental abstraction in a w eb-based application is the w eb page. W eb pages can range
from sim ple docum ents that m ay contain im ages, m ovie clips, sound and text, that can be rendered
by a brow ser; to pages containing com plex scripts that interact w ith server resources such as
external system s, databases and business logic.
For the purposes of estim ation, these distinctions are critical. C learly w e need to be able to
determ ine if a particular w eb page is a sim ple H TM L docum ent for presentation in a brow ser, or is a
com plex collection of scripts, logic and data. This distinction is necessary to accurately estim ate
developm ent effort for the w eb-specific aspects of the system .
web pages are first
class abstractions
like classes and
components
W eb pages are considered first class abstractions, as significant as traditional scope elem ent types
used to m odel the rest of the system . A sophisticated w eb page is in effect an executable system
elem ent, sim ilar to an object (class instance) or a com ponent.
web pages are
different from
classes and
components
Although w e can view w eb pages in a sim ilar w ay to classes or com ponents, there are som e
significant differences. It is relatively straightforw ard to m odel a w eb page that resides exclusively on
the client or on the server, though either m ay contain significant levels of sophistication in their ow n
right.
The real difference arises in cases w here a single w eb page m ay contain scripts that interact w ith
resources on the server, and a different set of scripts that execute on the client, leading to different
behaviour. From an estim ation point of view w e need to be able to m ake a clear distinction betw een
these different kinds of w eb pages because each w ill require significantly different effort to develop.
scripts are also
first class
abstractions
The effort required to develop a w eb page is a function of the effort required developing any scripts
it contains, and the effort required to include any m ultim edia content. As already discussed,
m ultim edia creation and developm ent is considered as separate from the developm ent of the
softw are, but integrating these elem ents and testing their operation requires considerable effort.
B y far the m ost significant aspect of developing w eb pages are the features that they provide
through the scripts that they contain. Therefore scripts m ust also be considered as first class
abstractions in a w eb-based application.
Estimating UML-Based Applications
Application scope is a m easure of the scale of the softw are under developm ent, and is represented
by the organization of architecturally significant scope elem ents. O bjectM etrix defines scope
elem ents that are fundam ental to object-oriented and com ponent-based applications, w hich
correspond to definitions in the U M L..
In specifying the scope of object-oriented and com ponent-based applications for estim ation
purposes it is necessary to identify the follow ing key abstractions:
subsystem
A set of application features geared to support a specific area of the business. A subsystem is a
logical grouping of classes that im plem ent a related set of use cases.
class
An abstraction that is fundam ental to the problem dom ain, responsible for encapsulating business
inform ation or the provision of specialised system services.
use case
A feature of the application visible to system actors (typically end users or other system s) that
describe functional and behavioural characteristics.
component
A replaceable and executable unit of softw are built from classes to im plem ent a specified set of
interfaces.
interface
W ell-defined contractual specification of the services offered by a com ponent w ithin an application.
Estimating Web-Based Applications
W eb pages and scripts often perform im portant business operations and act as real objects in an
application. They need to co-exist w ith traditional U M L abstractions in an application and need to
be m odelled and estim ated in an equivalent and com parable w ay. O bjectM etrix has been extended
to include the definition of scope elem ents that are fundam ental to w eb-based applications.
Specifying the functional and behavioural requirem ents of a w eb application is captured and
expressed by use cases. U se cases provide a consistent approach to how end users and other
system s interact w ith the application as a w hole, including the w eb-specific aspects.
In specifying the scope of w eb-based applications for estim ation purposes it is necessary to identify
the follow ing new abstractions:
web page
A w eb page can be considered a generic container or an encapsulation that m ay exhibit behaviour
and m ay contain data, and can exist as a client w eb page, a server w eb page or a com bination of
the tw o.
A client w eb page executes only on the client, and typically contains text, data and presentation
inform ation. C lient w eb pages m ay contain form s (collections of input boxes, text areas, radio
buttons, check boxes etc.) as w ell as business logic. A server w eb page executes only on the
server. Server w eb pages typically contain business logic and interact w ith server resources.
script
The business logic and functionality of a w eb page is im plem ented by scripts, w hich m ay be
interpreted by a scripting engine or m ay be loaded and executed as pre-com piled m odules.
An interpreted script exists as a separate file of text statem ents in a scripting language (e.g.
JavaScript, VB Script, or PER L) that can be included in a w eb page.
A com piled m odule is a separate binary file or library of subroutines or functions (e.g. .dll and .exe)
that can be included in a w eb page. C om piled m odules produce H TM L output at the request of a
client brow ser and typically contain high business logic content.
Qualifiers
The characteristics, relationships and num ber of each type of scope elem ent are quantitative and
are therefore the principal factors that determ ine the resulting estim ate. In O bjectM etrix, applying a
set of qualifiers can further refine individual scope elem ents.
complexity
C om plexity is a m easure of the degree of difficulty in developing a scope elem ent. The m ore
com plex a scope elem ent, the m ore effort w ill be required to develop it.
size
Size is a m easure of the quantity of the content of a scope elem ent. The m ore content, the bigger
the scope elem ent and the m ore effort w ill be required to develop it.
re-use
R e-use is a m easure of the extent to w hich pre-existing softw are can be utilised in the developm ent
of a particular scope elem ent. The m ore re-use that can be achieved the less effort w ill be required
to develop the scope elem ent.
genericity
G enericity is a m easure of how m uch a particular scope elem ent is required or intended to be re-
used. The m ore re-usable the scope elem ent, the m ore robust and efficient it needs to be, and
therefore the m ore effort w ill be required to develop it.
The Impact of Technology
There is a bew ildering array of existing and em erging technologies available for and used in the
developm ent of w eb-based applications. Som e of the areas w eb technologies encom pass include:
presentation (e.g. H TM L, D H TM L, XM L); scripting and program m ing languages (e.g. VB Script,
JavaScript, PER L ActiveX, Java); netw ork protocols and distributed com puting technologies (e.g.
D O M , D C O M , H TTP, TC P/IP, IIO P, C O R B A, R M I, JavaB eans).
HTML
In w eb-based applications the unique and dom inant technology is H TM L, (H yperText M arkup
Language), and m ore recently D ynam ic H TM L and XM L (Extensible M arkup Language), used to
construct w eb pages. W eb pages m ay or m ay not include scripts, m odules, m ultim edia, or text
content, but alm ost alw ays com prise a proportion of H TM L or D H TM L, w hich specifies how a
(client) w eb page should be rendered in a brow ser.
In estim ation, technology is the choice of scripting and program m ing languages, environm ents and
netw ork protocols used in developing a w eb-based application. The m ain im pact of technology is
on the program m ing activity. H ow ever, the choice of technology m ay also im pact low -level design,
testing and integration.
technology choice
has a small effect
on the estimate
The overall effect of technology choice on the estim ate is typically less than the im pact of qualifiers
or the skill level of the developm ent team . In O bjectM etrix, an estim ate for w eb-based application
developm ent can be calculated that is independent of technology, w here the choice of, for exam ple
scripting or program m ing language has not yet been m ade. This is possible because there is an
intrinsic effort required to carry out developm ent activities, w hich is irrespective of any specific
technology.
Estimation Packages
UML packages
In the U M L a package is a m echanism for partitioning a m odel into m anageable pieces. Packages
contain elem ents of the m odel, such as classes, com ponents, interfaces and so on.
In O bjectM etrix an estim ation package is a grouping m echanism for organising scope elem ents and
m etric data, [3]. O bjectM etrix defines an object-oriented estim ation package and a com ponent-
based estim ation package, and has been extended to support a w eb-based estim ation package.
object-oriented
The object-oriented estim ation package contains subsystem s, use cases and classes; along w ith a
set of base m etric data.
component-based
The com ponent-based estim ation package contains com ponents, interfaces and classes; along
w ith a set of base m etric data.
web-based
The w eb-based estim ation package contains w eb pages, scripts and use cases; along w ith a set of
base m etric data.
Productivity Metrics
metric (n)
a standard of
measurement
In O bjectM etrix, a clear distinction is m ade betw een the process of estim ation (calculating) and
m etrics (standards of m easurem ent). O bjectM etrix uses a set of base productivity m etrics for the
effort required to develop U M L scope elem ents, w hich have been refined from data gathered from
hundreds of softw are developm ent projects. These are an essential start point in calculating the
estim ate.
Separating m etrics from the estim ation m odel in this w ay allow s the m etrics to be calibrated to take
account of the particular circum stances of each project, and even allow s O bjectM etrix to
incorporate third party m etric data.
U nlike object-oriented and com ponent-based applications, the relatively recent m ainstream
em ergence and adoption of w eb-based applications has not yet allow ed enough tim e for a
sufficient body of reliable m etric data to be established. O nly recently has any attention been given
to productivity m etrics for w eb-based developm ent. H ow ever, Tassc in collaboration w ith w eb-
based developm ent groups in the U K and the U S has developed a series of base productivity
m etrics for w eb-based application developm ent. O bjectM etrix uses these base productivity m etrics
as an initial start point for the effort required to develop w eb-based scope elem ents, and like the
other base productivity m etric data sets w ithin O bjectM etrix, they can be calibrated.
Conclusion
e is for
estimation
The technology available for the creation of w eb-based applications is becom ing easier and easier
to use, leading m any organizations to develop and introduce w eb applications as attractive w eb
sites w ithout carrying out sufficient business analysis. Too often the result is an incom plete,
unreliable and difficult to m aintain application that fails to m eet the needs of the business, and costs
m ore and takes longer to develop than expected.
Through our involvem ent in hundreds of softw are projects w e have recognised that perhaps the
m ost im portant factor in delivering on tim e and w ithin budget is the preparation of realistic and
reliable softw are estim ates.
O bjectM etrix has proven to be an accurate, m easurable and repeatable technique for estim ating
and forecasting duration, cost and resource requirem ents for object-oriented and com ponent-
based softw are developm ent projects. The extensions to O bjectM etrix described in this paper now
offer a reliable, m easurable and repeatable estim ation technique for the new w orld of w eb-based
application developm ent.

Das könnte Ihnen auch gefallen