View
2.345
Download
0
Category
Preview:
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
Citation preview
Madhusudan Rao
Knowledge Based Software Engineering
Software engineering
is the application of a
systematic, disciplined, quantifiable
approach to the development,
operation, and maintenance of software
Knowledge
Identify
Create
Represent
Distribute
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
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.
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
All necessary information is available on the internet
If it is not, it is not tagged or filed
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
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…
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
Instant notifications
Managers/Leads share information
Makes life more disciplined
Can be Internal/
External
Tool for dissemination
in distributed envt.
Sources of invaluable
information
Avoid reinventing the wheel
Provide a searchable repository that can help
locate solutions based on others experience
Easy to share with entire team
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
Madhusudan Rao
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
Recommended