software engineering in the age of web2.0

23
Madhusudan Rao Knowledge Based Software Engineering

Upload: madhusudan-rao

Post on 07-Dec-2014

2.345 views

Category:

Technology


0 download

DESCRIPTION

Presented at the ISEC 2008 (1st India Software Engineering Conference, Hyderabad) on the subject of “Software Engineering in the age of Web2.0”, available at the website http://www.cse.iitd.ernet.in/~sigcse/isec2008/workshop.htm

TRANSCRIPT

Page 1: Software Engineering in the age of Web2.0

Madhusudan Rao

Knowledge Based Software Engineering

Page 2: Software Engineering in the age of Web2.0
Page 3: Software Engineering in the age of Web2.0

Software engineering

is the application of a

systematic, disciplined, quantifiable

approach to the development,

operation, and maintenance of software

Page 4: Software Engineering in the age of Web2.0

Knowledge

Identify

Create

Represent

Distribute

Page 5: Software Engineering in the age of Web2.0

Project Websites were few and far between No interest was taken to keep it updated Mainly for dashboards and reporting purposes

Huge amount of Documentation Not updated regularly RoI of such documents was not high Dissemination to team members was a challenge Version control issues

Publishing of Information was a lengthy process Not much participation

Folders-based content Difficult to mine for relevant info

Page 6: Software Engineering in the age of Web2.0
Page 7: Software Engineering in the age of Web2.0
Page 8: Software Engineering in the age of Web2.0

Web 2.0 Is a trend in World Wide Web technology, and web

design,

Is a second generation of web-based communities and hosted services such as social-networking sites,

wikis,

blogs,

folksonomies

Aim to facilitate creativity, collaboration, and sharingamong users.

Page 9: Software Engineering in the age of Web2.0

Web 2.0 is a

knowledge-oriented environment

where human interactions generate content

that is published, managed and used

through network applications

in a service-oriented architecture

Page 10: Software Engineering in the age of Web2.0

All necessary information is available on the internet

If it is not, it is not tagged or filed

Page 11: Software Engineering in the age of Web2.0

Software Engineering

Waterfall Model

Agile Methodologies

Requirements

Design

Development

Testing

MaintenanceKnowledge

Wikis

Forums

RSS Feeds

Blogs

Folksonomies

Co

nta

ins v

ario

us

Ph

ase

sT

yp

es o

f im

ple

me

nta

tion

Rich InfoIn all phases

Categorize for Easy access

Page 12: Software Engineering in the age of Web2.0

Management of knowledge becomes easier The social factor - ‘Contribute and share’ is key

The cool factor - ‘Everyone is doing it’

Most tools are open-source – hence, no cost

Multiple ways to categorize same content

Easy to search

Easy process to setup

What are the Web2.0 technologies you use? Slides follow…

Page 13: Software Engineering in the age of Web2.0

Project-wide initiative

Availability of “Live“ documents

Facilitate collaborative information gathering

Organization-wide initiative

Utilize knowledge expertise of entire organization

Capture Information that can be used in future

Page 14: Software Engineering in the age of Web2.0

Instant notifications

Managers/Leads share information

Makes life more disciplined

Can be Internal/

External

Tool for dissemination

in distributed envt.

Sources of invaluable

information

Page 15: Software Engineering in the age of Web2.0

Avoid reinventing the wheel

Provide a searchable repository that can help

locate solutions based on others experience

Easy to share with entire team

Page 16: Software Engineering in the age of Web2.0

The technologies of Web2.0 makes a developer’s life much easier Covers all phases of Software Engineering

Applicable both to Waterfall or Agile

Information specific to a technology is available on the internet It requires some effort in finding and tagging it

Information specific to a project can be created quickly Distribution is possible at the click of a button

Improves the overall productivity of the team

Page 17: Software Engineering in the age of Web2.0

Madhusudan Rao

Page 18: Software Engineering in the age of Web2.0
Page 19: Software Engineering in the age of Web2.0

Rich Internet application techniques, often Ajax-based Folksonomies (in the form of tags or tagclouds, for example) Syndication, aggregation and notification of data in RSS or Atom

feeds Weblog-publishing tools Wiki or forum software, etc., to support user-generated content Semantically valid XHTML and HTML markup Microformats extending pages with additional semantics Cascading Style Sheets to aid in the separation of presentation

and content REST and/or XML- and/or JSON-based APIs Mashups, merging content from different sources, client- and

server-side

Page 20: Software Engineering in the age of Web2.0
Page 21: Software Engineering in the age of Web2.0
Page 22: Software Engineering in the age of Web2.0
Page 23: Software Engineering in the age of Web2.0