Upload
kristian-holland
View
216
Download
0
Tags:
Embed Size (px)
Citation preview
Software Engineering Aspects of Web Based Development
Cathy HuttenhoffSoftware Engineer
Senior Seminar Fall 2009
Abstract
Initially there was no need for web development because there was no such thing as the internet. But as this was created, the need for a new form of development grew. This form of development corresponded to the new form of programming. In order for a program to be written using software engineering, it must follow a software development process. There are several processes to choose from and each is different. The processes used to create web pages and web applications are similar to the ones that were originally used to develop other programs but have crucial differences including software security, load issues and security.
Overview
Background Concurrency Unpredictable Load Security Multi-Modal Interface Software Engineering Process
Background
Internet Grew to popularity in the 1990s
Old model didn't take into account new demands
New demands Concurrency Unpredictable loads Security Multi-Modal Interface
Concurrency
Originally only one user at a time. Some lag acceptable. Only a few commands at a time. Now many users at once. Users demand less lag time. Now the few commands multiplied by many
users.
Unpredictable Load
Websites don't know how many viewers/users they will have.
Could have 100 today And 100,000 tomorrow
System must be able to handle loads of any size.
Visitor count Int overflow
Twitpocalypse
Security
Physical access vs. Remote Access Malicious Programs
Virus Worms Spyware
Microsoft Windows Release patches for security
Financial Transaction Don't want personal information stolen.
Multi-Modal Interface
“Multimodal interfaces process two or more combined user input modes, such as speech, pen, touch, manual gestures, and gaze, in a coordinated manner with multimedia system output.”
People want more technology. People want to be able to do more on their
technology. Web pages on Blackberries & Cell
Phones
Software Engineering Process
Requirements Design Implementation Verification / Testing Maintenance
Figure 1 : Waterfall Method
Requirements
Speed Concurrency Different numbers of users User Interface
Purchaser of software will be especially concerned about this.
Design
Low coupling Different parts of a system Different pages of a website
Store information on users computer vs. in master database
Independent parts using cookies
Cookies
In computing, a cookie is a small piece of text stored on a user's computer by a web browser.
A cookie consists of one or more name-value pairs containing bits of information such as user preferences, shopping cart contents, the identifier for a server-based session, or other data used by websites.
It is sent by a web server to a web browser and then sent back unchanged by the browser each time it accesses that server.
Implementation
Transforming diagrams into the base code. Create a Graphical User Interface (GUI)
Put code a methods into that page Post back vs not post back
Web development environment vs by hand Visual Studios .Net DreamWeaver
Testing
Black box vs. White box Easier to test
Beta versions Open up to users Get public to do testing Only need an internet connection No special software to install
Good bug tracking system Online
Maintenance
Easier to offer tech. support Only one version Don't have to support multiple versions
Easier to fix bugs When a bug fix is found, then the page is
updated Don't have to wait for the next patch release
date
Conclusion New Demands
Concurrency Unpredictable Load Security Multi-Modal Interface
Software Engineering Process Requirements Design Implementation Verification / Testing Maintenance
[1] Greenspun, P. (2003). Software Engineering for Internet Applications (6.171). Retrieved (2009, October 16) from http://philip.greenspun.com/teaching/one-term-web
[2] Software Development Process. Wikipedia : the free encyclopedia. Retrieved (2009, October 16) from http://en.wikipedia.org/wiki/File:Waterfall_model.png
[3] Siegler, M. G. (2009). Twitter moves up the twitpocalypse. all hell may break loose today.. TechCrunch, Retrieved from http://www.techcrunch.com/2009/06/12/all-hell-may-break-loose-on-twitter-in-2-hours/
[4] (2009). Multimodal Interfaces. In Encyclopedia Britannica. Encyclopedia Britannica. Retrieved October 20, 2009, from http://encyclopedia.jrank.org/articles/pages/6843/Multimodal-Interfaces.html
[5] Mikio Aoyama, "Web-Based Agile Software Development," IEEE Software, vol. 15, no. 6, pp. 56-65, Nov./Dec. 1998, doi:10.1109/52.730844
References