Software Engineering for Web Applications
-
Upload
mohd-shakeb-baig -
Category
Software
-
view
158 -
download
4
description
Transcript of Software Engineering for Web Applications
![Page 1: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/1.jpg)
Software engineering for web applications
Deriving a solution which satisfies web application requirements
![Page 2: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/2.jpg)
Outline
Introduction Object Oriented Software Engineering Modeling and System Specification Software Measurement and Estimation Design with Patterns Web Application XML Software Components Web Services Future Trends Conclusion Questions
![Page 3: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/3.jpg)
Introduction
Simple modeling is essential. UML is used for software design. Object Oriented Analysis is intuitive
approach of Domain Analysis Object Model is used in OOA
![Page 4: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/4.jpg)
Object Oriented Software Engineering
![Page 5: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/5.jpg)
Modeling and System Specification
Modeling is based on abstraction of world phenomena
System specification notations: UML State Machine Diagrams UML Object Constraint Language (OCL) TLA+ Notation
Problem Frames are used for specifying problems
Goal-oriented requirements engineering
![Page 6: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/6.jpg)
Software Measurement and Estimation
Two types of measurement:1. Done before development to estimate the product duration2. Done after development to evaluate the product quality
Use case points (UCP) method is used for effort estimation
Cyclomatic Complexity is used to measure the complexity of program’s conditional logic
Class cohesion can use Interface-based or Code-based metrics
Coupling metrics could be high or low Psychological Complexity could be measured by
Algorithmic Information Content (AIC) and Logical Depth
![Page 7: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/7.jpg)
Design with Patterns
Convenient solutions for software design problems
Must be need-driven In Broker method, a client object invokes
methods of a remote server object Publisher-subscriber design pattern is used to
implement indirect communication Other patterns include Command, Decorator,
State and Proxy patterns. Concurrent Programming helps in easier
programming of reactive applications Security with obscurity
![Page 8: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/8.jpg)
Web Applications
Unlike traditional software, the Web serves as both development & user platform
A Web application is a system that utilizes W3C standards & technologies to deliver Web-specific resources to clients.
![Page 9: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/9.jpg)
Categories of Web Applications
![Page 10: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/10.jpg)
Characteristics of Web Applications
Product Usage Development Evolution
![Page 11: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/11.jpg)
XML and Data Representation eXtensible Markup Language Markups: Element, Entity reference,
Comments, Processing instructions, Marked sections, Document type declarations
XML Schema provides the vocabulary to state the rules of document production.
XPointer supports internal addressing. XLink allows us to create and describe links
between resources. XSL can translate XML documents that
comply with two different XML schemas.
![Page 12: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/12.jpg)
Software Components
Components are reusable pieces of software. Component communicates with the rest of the
world only via its ports using events. Two major component architectures are:
JavaBeans from Sun ActiveX controls from Microsoft .
Computational reflection is a technique that allows a system to maintain information about itself (meta-information) and use this information to change its behaviour (adapt).
Object serialization is used to extract the object state.
![Page 13: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/13.jpg)
Web Services: Service Oriented Architecture
![Page 14: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/14.jpg)
SOAP Communication Protocol Simple Object
Access Protocol XML based Encoding format
for inter-application communication
Document style and RPC style communication
Runs on HTTP etc.
<Envelop><Header>
header blocks
</Header><Body>
body blocks
</Body>attachment blocks
</Envelop>
![Page 15: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/15.jpg)
WSDL for Web Service Description
Service description can be partitioned into parts which describe : individual Web services relationships between sets of
Web services WSDL (Web Service
Definition Language) describes individual web services
WSDL Document can be used to generate stub and skeleton proxies which interact with SOAP based middleware
![Page 16: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/16.jpg)
UDDI for Service Discovery and Integration
Discovery agency level connection is a publish/find mechanism
Could be used at build-time or runtime Universal Description, Discovery, and
Integration is an implementation of discovery agency
UDDI registry offers common repository for: service providers to publish service information service requestors inquire to find service information
UDDI defines structure, publish/inquire API for registry
![Page 17: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/17.jpg)
Apache Axis
Apache eXtensible Interaction System
Web Service development toolkit SOAP engine Framework for constructing SOAP
servers, clients, gateways, etc. It contains:
server that plugs into servlet engines Java2WSDL WSDL2Java
![Page 18: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/18.jpg)
OMG Reusable Asset Specification
An OMG (Object Management Group) standard
Used to package digital artifacts Guideline and recommendation of reusable
software assets: structure content description
To increase reusability of software assets Encourage consistent and standard
packaging
![Page 19: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/19.jpg)
Future Trends
Aspect Oriented Programming OMG MDA Autonomic Computing Software-as-a-Service (SaaS) End User Software Development The Business of Software
![Page 20: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/20.jpg)
Conclusion
XML is used for data representation on Web Reusable software components are beneficial Service Oriented Architecture involves client,
server and discovery agency SOAP is XML based protocol for inter-application
object communication WSDL is used for Web service description UDDI implements discovery agency Apache Axis is a Web Service development
toolkit Reusable Asset Specification is an OMG
standard for packaging digital artifacts
![Page 21: Software Engineering for Web Applications](https://reader036.fdocuments.net/reader036/viewer/2022062319/555e023dd8b42a3f618b5578/html5/thumbnails/21.jpg)
Questions??