web engineering ppt
TRANSCRIPT
An Introduction
World Wide Web Abbreviated as WWW commonly known as the Web is a system of interlinked hypertext documents
accessed via the Internet The Web is an application that can operate on
global computer networks An indispensable technology
In virtually every aspect of modern living
A transformative technology Changes the way we do things Changes the way we acquire and disseminate information
World Wide Web Properties Unbound in space/time: Information provided on
the Internet is available every day, around the clock, and around the world (pending network operation).
Bound in use context: Web-based hypertext fosters associations among works through links, giving rise to networks of meaning and association among many information sources that may be scattered across the globe and written by many authors
Distributed, non-hierarchical: The Web's technical organization as an application using the Internet for a client/server model influences the disintegration of user focus on a single outlet for experiencing content.
Definitions Web System – an infrastructure or system Web System – an infrastructure or system
enabling the operation of a Web applicationenabling the operation of a Web application
Web Application – a distributed application Web Application – a distributed application that accomplishes a certain business need that accomplishes a certain business need based on the technologies of WWW and that based on the technologies of WWW and that consists of a set of Web-specific resourcesconsists of a set of Web-specific resources
Web-Based Systems In the early days of the Web, we built systems using
informality, urgency, intuition, and art Informality leads to an easy work environment—one in which you can do your own thing.
Urgency leads to action and rapid decision making.
Intuition is an intangible quality that enables you to “feel” your way through complex situations.
Art leads to aesthetic form and function—to something that pleases those who encounter it.
Problem is—this approach can and often does lead to problems
Range of ComplexityRange of Complexity
StaticSite
DataCollector Site
Dynamic DataAccess
Web Application
Service-BasedWeb Applicationand Federations
Dynamically Created
Site
Service
Application CenteredDocument Centered
Com
plex
Sim
ple
But Why? As WebApps become larger and more complex,
Informality remains, but some degree of requirements gathering, planning and design are necessary
Urgency remains, but it must be tempered by a recognition that decisions may have broad consequences
Intuition remains, but it must be augmented by proven management and technical patterns
Art remains, but it must be complemented with solid design
Web Systems: ProblemsWeb Systems: Problems ProblemsProblems
Inability to maintainInability to maintain Unable to meet evolving needs and grow at the rate Unable to meet evolving needs and grow at the rate
needed – scaleabilityneeded – scaleability Unreliable – crashesUnreliable – crashes
Web-dependent organizations cannot afford to haveWeb-dependent organizations cannot afford to have Faulty systems – reliability, security issuesFaulty systems – reliability, security issues Frequent downtime – dependabilityFrequent downtime – dependability Wrong, inconsistent, or stale content/informationWrong, inconsistent, or stale content/information
Web systems problems are not easy to hideWeb systems problems are not easy to hide
Consideration to Consideration to Quality?Quality?
Lack of consideration Lack of consideration to:to:NavigationNavigationAccessibilityAccessibilityScalabilityScalabilityReliabilityReliabilityMaintainabilityMaintainabilityUsabilityUsability
Compatibility and Compatibility and interoperabilityinteroperability
SecuritySecurityReadabilityReadability
Web System Development Web System Development Summary (1/2)Summary (1/2) Less attention is given to development methodologies, Less attention is given to development methodologies,
testing and evaluation, quality assessment and controltesting and evaluation, quality assessment and control Largely relies on individual’s own development practicesLargely relies on individual’s own development practices Lack of realization of its lifecycleLack of realization of its lifecycle
Analysis of needs, redesign, development (including coding), Analysis of needs, redesign, development (including coding), management, metrics, maintenancemanagement, metrics, maintenance
Calls for significant system-level and design decisionsCalls for significant system-level and design decisions It is an exercise – not an eventIt is an exercise – not an event Legitimate concern about the manner in which they are Legitimate concern about the manner in which they are
created and their long-term quality and integritycreated and their long-term quality and integrity
Web System Development Web System Development Summary (2/2)Summary (2/2) In many cases, Web systems In many cases, Web systems
development isdevelopment isChaoticChaoticFailure-proneFailure-proneUnsatisfactoryUnsatisfactory
Why Do You Think That Web Systems are the #1 Target
of Attack?
Risks to Web-Based Risks to Web-Based BusinessBusiness Long system delivery timeLong system delivery time Low responsiveness to business Low responsiveness to business
changeschanges High project development and ongoing High project development and ongoing
support costssupport costs Questionable system qualityQuestionable system quality
Desires of Web-Based Desires of Web-Based BusinessesBusinesses Project delivery time – Project delivery time – shortershorter System quality – System quality – improvedimproved Technology investment - Technology investment - optimizedoptimized
Need for ProcessNeed for Process Domination of the different requirements calls for a Domination of the different requirements calls for a
systematic approachsystematic approach Producing high-quality applications in a cost-effective Producing high-quality applications in a cost-effective
wayway Goal – application should beGoal – application should be
Maintainable and evolvableMaintainable and evolvable ReliableReliable EfficientEfficient Appropriate for UIAppropriate for UI Delivered on time at predictable cost Delivered on time at predictable cost
Or Simply Software Or Simply Software Engineering?Engineering?
“Fundamental differences [between hypermedia and other disciplines] however, make a pure transposition of techniques both difficult and inadequate. An important part of hypertext design concerns aesthetic and cognitive aspects that software engineering environments do not support.”
--Nanard & Nanard
Web Development vs. Web Development vs. Software DevelopmentSoftware Development They are different due to the nature and They are different due to the nature and
distinct requirements of Web-based distinct requirements of Web-based systemssystems
Even though Web-based systems often Even though Web-based systems often require programming and specialty require programming and specialty software, the development of that software, the development of that software is often uniquesoftware is often unique
Web-Based Systems vs. Web-Based Systems vs. Software (1/3)Software (1/3) Web-based systems:Web-based systems:
Are often document-oriented containing static or Are often document-oriented containing static or dynamic contentdynamic content
More emphasis on “look and feel”More emphasis on “look and feel”Are “content-driven” – process is driven by the Are “content-driven” – process is driven by the
availability of contentavailability of contentNeed to cater to users with diverse skills and Need to cater to users with diverse skills and
capabilitiescapabilitiesAre typically constrained to a short development Are typically constrained to a short development
time making it difficult to apply the same levels time making it difficult to apply the same levels of formal planning and testing used in software of formal planning and testing used in software developmentdevelopment
Web-Based Systems vs. Web-Based Systems vs. Software (2/3)Software (2/3) Web-based systems:Web-based systems:
Differ by means of their access and delivery Differ by means of their access and delivery mediummedium
Have different life spansHave different life spansHave differing development requirementsHave differing development requirements
○ Developers are vastly varied in terms of their Developers are vastly varied in terms of their background, skills, knowledge, and system background, skills, knowledge, and system understandingunderstanding
○ Developers differ in their perception of Web Developers differ in their perception of Web systemssystems
Web-Based Systems vs. Web-Based Systems vs. Software (3/3)Software (3/3) Web-based systems:Web-based systems:
Should be scalableShould be scalableHave varying performance requirements – Have varying performance requirements –
must be able to cope with uncertain, random must be able to cope with uncertain, random heavy demands on servicesheavy demands on services
Must be secureMust be secureAre subject to assorted legal, social, and Are subject to assorted legal, social, and
ethical scrutinyethical scrutiny
Categories of Web-Based Categories of Web-Based SystemsSystems
Category Examples
Informational Online newspapers, manuals
Interactive Registration forms
Transactional Electronic shopping
Workflow-oriented Status monitoring
Collaborative work Distributed authoring
Online communities Discussion groups
Web portals Shopping malls
Web services Enterprise applications
EngineeringEngineering
Discussing the term in the context of Discussing the term in the context of (software) engineering:(software) engineering:
““Engineering is about the systematic Engineering is about the systematic application of scientific knowledge in application of scientific knowledge in creating and building cost-effective creating and building cost-effective solutions to practical problems”, solutions to practical problems”,
Berry [Report No. CMU/SEI-92-TR-34]Berry [Report No. CMU/SEI-92-TR-34]
Why Engineering?Why Engineering?
Engineering is associated with “scale-Engineering is associated with “scale-up”up”
New issues arise when scaling by 2+ New issues arise when scaling by 2+ orders of magnitudeorders of magnitude
Skills of architects and all kinds of Skills of architects and all kinds of engineers are different from those engineers are different from those needed for designing and building needed for designing and building simple structures and simple systemssimple structures and simple systems
What is Web What is Web Engineering?Engineering?
There is still no common answerThere is still no common answer““Web Engineering is concerned with establishment and use Web Engineering is concerned with establishment and use of sound scientific, engineering and management principles of sound scientific, engineering and management principles and disciplined and systematic approaches to the successful and disciplined and systematic approaches to the successful development, deployment and maintenance of high quality development, deployment and maintenance of high quality Web-based systems and applications”, SIGWEB NewsletterWeb-based systems and applications”, SIGWEB Newsletter““Web Engineering is a discipline among disciplines, cutting Web Engineering is a discipline among disciplines, cutting across computer science, information systems, and software across computer science, information systems, and software engineering, as well as benefiting from several non-IT engineering, as well as benefiting from several non-IT specializations”, IEEE Multimediaspecializations”, IEEE Multimedia““While Web Engineering adopts and encompasses many While Web Engineering adopts and encompasses many software engineering principles, it incorporates many new software engineering principles, it incorporates many new approaches, methodologies, tools, techniques, and approaches, methodologies, tools, techniques, and guidelines to meet the unique requirements of Web-based guidelines to meet the unique requirements of Web-based systems. Developing Web-based systems is significantly systems. Developing Web-based systems is significantly different from traditional software development and poses different from traditional software development and poses many additional challengesmany additional challenges””, IEEE MultiMedia, IEEE MultiMedia
Web EngineeringWeb Engineering
The application of systematic, disciplined, and quantifiable approaches to the design, production, deployment, operation, maintenance and evolution of Web-based software products.
---Gaedke, 2000
Web Engineering (1/2)Web Engineering (1/2) A holistic and proactive approach to Web systems A holistic and proactive approach to Web systems
developmentdevelopment Offers systematic approaches and disciplined Offers systematic approaches and disciplined
processes for developmentprocesses for development Deals with the management of complexity and diversity Deals with the management of complexity and diversity
of Web developmentof Web development Brings to Web-based system developmentBrings to Web-based system development
ControlControl Risk minimizationRisk minimization Enhanced maintainability and qualityEnhanced maintainability and quality
Web Engineering (2/2)Web Engineering (2/2)
Other factorsOther factorsDocument orientationDocument orientationNavigational designNavigational designChanging technologyChanging technologyBudget and time constraintsBudget and time constraintsPeople and internal politicsPeople and internal politicsDivision between theory and practiceDivision between theory and practiceLack of understanding…Lack of understanding…
Goals of Web Goals of Web EngineeringEngineering Develop high quality Web applicationsDevelop high quality Web applications
EffectiveEffectiveEfficientEfficientAchieve desired applicationAchieve desired application
Maintain and evolveMaintain and evolvePlan for change – solution may change the Plan for change – solution may change the
problemproblem Encourage the use of systematic, Encourage the use of systematic,
disciplined and quantifiable approaches disciplined and quantifiable approaches and process modelsand process models
•Physical Layer•Internet Layer•Transport Layer•Performance
•Process•Design•Implementation•Test•Operation•Maintenance
•Design & StructureInformation Space
•Navigation•Visualization•Usability•Collaboration
•Data Design, ER,...•RDBMS•Query Languages•Strg.Devices: FS,...
Key Knowledge AreasKey Knowledge Areas
Web Engineering
NetworkEngineering
SoftwareEngineering
Hypermedia
InformationSystems
Others...
Web Engineering Activities Web Engineering Activities (1/3)(1/3) Requirements specification and analysisRequirements specification and analysis Web-based system analysis and designWeb-based system analysis and design Web development methodologies and techniquesWeb development methodologies and techniques Migration of legacy systems to Web environmentsMigration of legacy systems to Web environments Web-based real-time applications developmentWeb-based real-time applications development Web-based multimedia application developmentWeb-based multimedia application development Testing, verification and validation techniques and toolsTesting, verification and validation techniques and tools Quality assessment, control and assuranceQuality assessment, control and assurance
Web Engineering Activities Web Engineering Activities (2/3)(2/3) Management of access to applications and privilegesManagement of access to applications and privileges Configuration and project managementConfiguration and project management ““Web metrics” – metrics for estimation of development effortWeb metrics” – metrics for estimation of development effort Performance specification and evaluationPerformance specification and evaluation Update and maintenanceUpdate and maintenance Development models, teams, and staffingDevelopment models, teams, and staffing Human and cultural aspectsHuman and cultural aspects User-centric developmentUser-centric development
Web Engineering Activities Web Engineering Activities (3/3)(3/3) Graphics, animation, and streamingGraphics, animation, and streaming Copyright, legal and social aspectsCopyright, legal and social aspects